Как конвертировать из строки в PDF в Java - PullRequest
1 голос
/ 29 октября 2011

В настоящее время я использую этот код, но он выбрасывает PrintJobFlavorException. Вот мой код, помогите мне исправить это:

public class PJUtil {
    public static void main(String[] args) throws Exception {
        DocFlavor flavor = DocFlavor.INPUT_STREAM.PDF;
        Writer output = null;
        String text = "printing in pdfPrinting in Java ";
        File file = new File("C:\\CMPSup_AL_.PDF");
        output = new BufferedWriter(new FileWriter(file));
        output.write(text);
        output.close();
        InputStream is = new BufferedInputStream(new FileInputStream(file));
        PrintService service = PrintServiceLookup.lookupDefaultPrintService();
        DocPrintJob job = service.createPrintJob();
        Doc doc = new SimpleDoc(is, flavor, null);
        PrintJobWatcher pjDone = new PrintJobWatcher(job);
        job.print(doc, null);
        pjDone.waitForDone();
        is.close();
    }
}

и исключение

Exception in thread "main" sun.print.PrintJobFlavorException: invalid flavor
    at sun.print.Win32PrintJob.print(Win32PrintJob.java:327)
    at Collections.PrinterJobUtil.main(PrinterJobUtil.java:89)

Ответы [ 5 ]

2 голосов
/ 29 октября 2011

ваш принтер может не поддерживать текстовое представление.Взгляните на эту статью java printing , особенно на странице 5.

1 голос
/ 30 октября 2011

Как уже отмечали другие, вы не можете просто создать файл с именем PDF и распечатать его.Если вам нужно создать PDF, вы можете взглянуть на itext .

0 голосов
/ 19 июля 2013

Изменить Вкус DocFlavor = DocFlavor.INPUT_STREAM.PDF на * Вкус DocFlavor = DocFlavor.INPUT_STREAM.AUTOSENSE *.

E Паван Варма

0 голосов
/ 11 декабря 2012

Также взгляните на Jasper Reports http://community.jaspersoft.com/project/jasperreports-library

0 голосов
/ 30 октября 2011

Просто чтобы дать вам еще один вариант для создания файлов PDF.Попробуйте использовать Apache's PDFBox и взгляните на кулинарную книгу.В примере HelloWorld показано, как создать простой PDF-документ, подобный тому, который вы пытались создать в своем примере кода.

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