2015-05-04 4 views
1

Я пытаюсь создать PDF-файл из XHTML с помощью библиотеки Flying Saucer (9.0.7). Тексты и таблицы отображаются как ожидалось, но изображения (PNG) не отображаются в окончательном PDF. На изображения ссылаются абсолютные пути к файлу (например, <img alt="img" src="C:\pic.png" width="300px"></img>). Если вместо этого я использую URL-адреса, изображения могут быть правильно помещены в PDF, но как я могу выполнить работу с абсолютными путями файлов?Flying Saucer не отображает PNG-файлы в PDF

Мой Java код выглядит следующим образом:

private void createPDF(String filePath) { 
    try { 
     File pdfFile = new File(filePath); 

     ITextRenderer renderer = new ITextRenderer(); 
     renderer.setDocument(pdfFile); 

     OutputStream pdfFOS = new FileOutputStream(new File(filePath.replace(".html", ".pdf"))); 

     renderer.layout(); 
     renderer.createPDF(pdfFOS); 

     pdfFOS.close(); 
    } catch (Exception e) { 
     System.err.println("Error creating pdf file: " + e.getMessage()); 
    } 
} 

Любая помощь будет оценена.

+0

Использование файла: /// поможет? –

+0

Да, вы правы. Спасибо! Тем не менее, также необходимо избегать обратных косых черт в пути к файлу. – rOb

+0

@rOb Я нашел этот вопрос, и комментарии очень полезны. Может быть, вы можете написать ответ на свой вопрос и принять его? –

ответ

0

Как упоминал Пауло Соарес, используя файл: /// будет делать трюк. В дополнение к этому, необходимо избегать обратных косых черт в пути к файлу.