IronPDF for Java 使您能够在有或没有用户交互的情况下以编程方式打印 PDF 文件。 您可以将PDF直接发送到物理打印机,控制打印设置如份数和页面范围,并在Java应用程序中自动化文档打印工作流程。 无论您是在构建企业文档管理系统还是自动化发票生成,IronPDF提供的打印功能可以与Java的打印基础设施实现无缝集成。 您还可以将其与其他PDF任务一起使用,例如数字签名PDF或将图像转换为PDF,作为更广泛的文档处理流水线的一部分。
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/print-pdf/quickstart.javaimport com.ironsoftware.ironpdf.*;public class PrintPDFQuickstart { public static void main(String[] args) { // Apply your license keyLicense.setLicenseKey("YOUR-LICENSE-KEY"); // Create a PDF from HTML PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $100.00</p>"); // Print with dialog (interactive) pdf.print(); // Or print without dialog (automated) // pdf.printWithoutDialog(); }}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/print-pdf/quickstart.java
import com.ironsoftware.ironpdf.*;
public class PrintPDFQuickstart {
public static void main(String[] args) {
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Create a PDF from HTML
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $100.00</p>");
// Print with dialog (interactive)
pdf.print();
// Or print without dialog (automated)
// pdf.printWithoutDialog();
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/print-pdf/interactive-printing.javaimport com.ironsoftware.ironpdf.License;import com.ironsoftware.ironpdf.PdfDocument;import java.io.IOException;public class InteractivePrinting { public static void main(String[] args) { // Set the license key for IronPDFLicense.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01"); try { // Option 1: Create a new PDF from HTML PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Monthly Report</h1><p>Sales data...</p>"); // Option 2: Load an existing PDF file // PdfDocument pdf = PdfDocument.fromFile(Paths.get("report.pdf")); // Print the PDF with a print dialog for user interaction pdf.print();System.out.println("Print job sent to selected printer"); } catch (IOException e) {System.err.println("Error printing PDF: " + e.getMessage()); } }}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/print-pdf/interactive-printing.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class InteractivePrinting {
public static void main(String[] args) {
// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
try {
// Option 1: Create a new PDF from HTML
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Monthly Report</h1><p>Sales data...</p>");
// Option 2: Load an existing PDF file
// PdfDocument pdf = PdfDocument.fromFile(Paths.get("report.pdf"));
// Print the PDF with a print dialog for user interaction
pdf.print();
System.out.println("Print job sent to selected printer");
} catch (IOException e) {
System.err.println("Error printing PDF: " + e.getMessage());
}
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/print-pdf/automated-printing.javaimport com.ironsoftware.ironpdf.License;import com.ironsoftware.ironpdf.PdfDocument;import java.io.IOException;import java.nio.file.Paths;import java.time.LocalDateTime;public class AutomatedPrinting { public static void main(String[] args) { // Set the license key for IronPDFLicense.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01"); try { // Create a batch of invoices for (int i = 1; i <= 10; i++) { String html = String.format( "<h1>Invoice #%d</h1>" + "<p>Date: %s</p>" + "<p>Amount: $%.2f</p>", i, LocalDateTime.now(), i * 100.0 ); // Render HTML to PDF PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html); // Print directly without showing dialog pdf.printWithoutDialog();System.out.println("Printed invoice #" + i); // Save a copy for records pdf.saveAs(Paths.get("invoices/invoice_" + i + ".pdf")); } } catch (IOException e) {System.err.println("Printing error: " + e.getMessage()); } }}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/print-pdf/automated-printing.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
import java.time.LocalDateTime;
public class AutomatedPrinting {
public static void main(String[] args) {
// Set the license key for IronPDF
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
try {
// Create a batch of invoices
for (int i = 1; i <= 10; i++) {
String html = String.format(
"<h1>Invoice #%d</h1>" +
"<p>Date: %s</p>" +
"<p>Amount: $%.2f</p>",
i, LocalDateTime.now(), i * 100.0
);
// Render HTML to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
// Print directly without showing dialog
pdf.printWithoutDialog();
System.out.println("Printed invoice #" + i);
// Save a copy for records
pdf.saveAs(Paths.get("invoices/invoice_" + i + ".pdf"));
}
} catch (IOException e) {
System.err.println("Printing error: " + e.getMessage());
}
}
}
What should be considered for effective logging and monitoring when printing with IronPDF?
Effective practices involve monitoring printer status, managing print queues, keeping audit logs, and configuring fallback printing options to ensure reliable and compliant print operations.
How can print job queuing be structured for high-throughput systems using IronPDF?
For high-throughput systems, use a producer-consumer pattern with a 'BlockingQueue' to manage print jobs and maintain application responsiveness, enabling features like priority levels and rate limiting.