طباعة مستند برمجيا أو باستخدام مربعات الحوار
توضح هذه المقالة كيفية طباعة مستند معالجة النصوص باستخدام Aspose.Words API. كما يوضح طرق طباعة مستند باستخدام الإعدادات ومعاينة الطباعة ومربعات حوار تقدم الطباعة.
طباعة مستند مع الإعدادات ومربعات حوار معاينة الطباعة
عند العمل مع المستندات، غالبا ما يكون مطلوبا طباعتها على طابعة محددة. من المفيد استخدام مربع حوار معاينة قبل الطباعة لفحص كيفية ظهور المستند المطبوع بصريا واختيار خيارات الطباعة ذات الصلة.
لا يحتوي Aspose.Words على مربعات حوار أو نماذج مضمنة ولكنه ينفذ فئة AsposeWordsPrintDocument التي تتجاوز كلا جافا.أوت.طباعة.للطباعة وجافا.أوت.طباعة.قابل للصفحة.
يوضح المثال التالي كيفية استخدام هذه الفئات لطباعة مستند من Aspose.Words عبر مربعات حوار معاينة الطباعة والإعدادات:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// Open the document. | |
Document doc = new Document(dataDir + "TestFile.doc"); | |
PrinterJob pj = PrinterJob.getPrinterJob(); | |
// Initialize the Print Dialog with the number of pages in the document. | |
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet(); | |
attributes.add(new PageRanges(1, doc.getPageCount())); | |
if (!pj.printDialog(attributes)) { | |
return; | |
} | |
// This object is responsible for rendering our document for use with the Java | |
// Print API. | |
AsposeWordsPrintDocument awPrintDoc = new AsposeWordsPrintDocument(doc); | |
// Pass our document as pageable to the printer job. | |
pj.setPageable(awPrintDoc); | |
// Create an instance of the print preview dialog and pass the print dialog and | |
// our document. | |
// Note that AsposeWordsPrintDocument implements both the Pageable and Printable | |
// interfaces. If the pageable constructor for PrintPreviewDialog | |
// is used then the formatting of each page is taken from the document. If the | |
// printable constructor is used then Page Setup dialog becomes enabled | |
// and the desired page setting for all pages can be chosen there instead. | |
PrintPreviewDialog previewDlg = new PrintPreviewDialog(awPrintDoc); | |
// Pass the desired page range attributes to the print preview dialog. | |
previewDlg.setPrinterAttributes(attributes); | |
// Proceed with printing if the user accepts the print preview. | |
if (previewDlg.display()) | |
pj.print(attributes); |
طباعة صفحات متعددة على ورقة واحدة
Aspose.Words تنفذ فئة MultipagePrintDocument، لضبط عملية الطباعة لتنفيذ المنطق المخصص الخاص بك عن طريق تحديد الطريقة التي سيظهر بها المستند على الصفحة المطبوعة. توفر فئة MultipagePrintDocument القدرة على طباعة عدة صفحات على ورقة واحدة.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// Open the document. | |
Document doc = new Document(dataDir + "TestFile.doc"); | |
// Create a print job to print our document with. | |
PrinterJob pj = PrinterJob.getPrinterJob(); | |
// Initialize an attribute set with the number of pages in the document. | |
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet(); | |
attributes.add(new PageRanges(1, doc.getPageCount())); | |
// Pass the printer settings along with the other parameters to the print document. | |
MultipagePrintDocument awPrintDoc = new MultipagePrintDocument(doc, 4, true, attributes); | |
// Pass the document to be printed using the print job. | |
pj.setPrintable(awPrintDoc); | |
pj.print(); |
يمكنك تنزيل مثال على استخدام فئة MultipagePrintDocument من Aspose.Words GitHub.
تظهر نتيجة مثال الكود هذا أدناه:
/