Отправка существующего файла на принтер «Windows print to PDF» для печати файла PDF - PullRequest
0 голосов
/ 26 июня 2019

У меня есть файл .xlsx, и мне нужно распечатать его в формате PDF прямо из моего веб-приложения.

Я начал использовать iText, но файл немного сложен, поэтому я подготовил файл .xlsx для компиляции во время выполнения. Я искал библиотеку для преобразования этого файла в pdf, и в конце концов я попробовал эту библиотеку , которая очень проста в использовании, но когда я прикрепляю этот файл к письму, файл pdf кажется текстовым файлом, и он не распознан / открыт как PDF.

Я бы использовал «Windows Print to PDF printer». Я пытаюсь использовать этот код

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();
}

Это правильный путь? Как я могу определить исходный файл? Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...