Mencetak Dokumen Secara Terprogram atau Menggunakan Dialog
Artikel ini menjelaskan cara mencetak dokumen pengolah kata menggunakan Aspose.Words API. Ini juga mendemonstrasikan metode pencetakan dokumen dengan Pengaturan, Pratinjau Cetak, dan dialog kemajuan Cetak.
Mencetak Dokumen dengan Pengaturan dan Dialog Pratinjau Cetak
Saat bekerja dengan dokumen, seringkali diperlukan untuk mencetaknya ke printer yang dipilih. Sangat membantu untuk menggunakan dialog pratinjau cetak untuk memeriksa secara visual bagaimana dokumen yang dicetak akan muncul dan memilih opsi cetak yang relevan.
Aspose.Words tidak memiliki dialog atau formulir bawaan tetapi mengimplementasikan kelas AsposeWordsPrintDocument menimpa kedua java.awt.cetak.Dapat dicetak dan java.awt.cetak.Dapat dibaca.
Contoh berikut menunjukkan cara menggunakan kelas ini untuk mencetak dokumen dari Aspose.Words melalui dialog Pratinjau cetak dan Pengaturan:
// 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); |
Mencetak Banyak Halaman dalam Satu Lembar
Aspose.Words mengimplementasikan kelas MultipagePrintDocument, untuk menyempurnakan operasi pencetakan guna mengimplementasikan logika kustom Anda dengan menentukan tampilan dokumen pada halaman yang dicetak. Kelas MultipagePrintDocument menyediakan kemampuan untuk mencetak beberapa halaman pada satu lembar kertas.
// 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(); |
Anda dapat mengunduh contoh penggunaan kelas MultipagePrintDocument dari Aspose.Words GitHub.
Hasil dari contoh kode ini ditunjukkan di bawah ini:
/