将现有文件发送到“ Windows打印到PDF”打印机以打印PDF文件

时间:2019-06-26 15:46:41

标签: java pdf printing

我有一个.xlsx文件,我需要直接从我的Web应用程序中将其打印为PDF。

我开始使用iText,但是文件有点复杂,所以我准备了一个.xlsx文件以进行运行时编译。我寻找了一个图书馆来将该文件转换为pdf文件,最终我尝试了this library,该文件非常易于使用,但是当我将该文件附加到邮件时,该pdf文件似乎是文本文件,无法识别/以PDF格式打开。

我将使用“ Windows打印到PDF打印机”。 我正在尝试使用此代码

try {
    PrintService[] services = PrinterJob.lookupPrintServices();
    for (int index = 0; index < services.length; index++) {
        if (services[index].getName().equalsIgnoreCase("Microsoft Print to PDF")) {
            PrinterJob pjob = PrinterJob.getPrinterJob();
            pjob.setPrintService(services[index]);
            HashPrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
            attributes.add(new Destination(new File(pathToPDF).toURI()));
            pjob.print(attributes);
        }
    }
} catch (PrinterException e) {
    e.printStackTrace();
}

这是正确的方法吗?如何定义源文件? 非常感谢

0 个答案:

没有答案