Een document afdrukken Programmatisch of dialoogvensters gebruiken
Dit artikel beschrijft hoe een tekstverwerkingsdocument af te drukken met behulp van Aspose.Words API. Het toont ook de methoden voor het afdrukken van een document met Instellingen, Afdrukvoorbeeld, en Print voortgangsdialoogvensters.
Een document afdrukken met instellingen en afdrukvoorbeelddialoog
Bij het werken met documenten is het vaak nodig om ze af te drukken naar een geselecteerde printer. Het is handig om een afdrukvoorbeelddialoog te gebruiken om visueel te controleren hoe het afgedrukte document verschijnt en relevante afdrukopties te kiezen.
De Aspose.Words heeft geen ingebouwde dialoogvensters of formulieren, maar implementeert de AsposeWordsPrintDocument klasse overschrijft beide java.awt.print. Afdrukbare en java.wt.print. Opeistbaar.
Het volgende voorbeeld laat zien hoe je deze klassen gebruikt om een document af te drukken van Aspose.Words via de Afdrukvoorbeelden en Instellingen dialoogvensters:
// 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); |
Meerdere pagina’s op één blad afdrukken
Aspose.Words voert de MultipagePrintDocument klasse, om de afdrukbewerking te verfijnen om uw aangepaste logica te implementeren door te definiëren hoe het document zal verschijnen op de afgedrukte pagina. De MultipagePrintDocument klasse biedt de mogelijkheid om meerdere pagina’s af te drukken op één blad papier.
// 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(); |
U kunt een voorbeeld van het gebruik van de MultipagePrintDocument klasse van Aspose.Words GitHub
Het resultaat van dit codevoorbeeld is hieronder weergegeven:
/