Поворот PDF-файлов с помощью iText и org.w3c.dom.Document - PullRequest
0 голосов
/ 27 марта 2012

Я работаю с iText в сервлетах Java. Я борюсь с созданием PDF-файлов из моих файлов JSP. Я видел, что это невозможно, поэтому я создал новые сервлеты, которые анализируют строку (моя HTML-страница). Здесь часть кода:

StringBuffer buffer = getHTMLinBuffer(consulenti, anUser);
DocumentBuilder builder = DocumentBuilderFactory
    .newInstance().newDocumentBuilder();
Document doc = builder.parse(new ByteArrayInputStream(buffer.toString().getBytes("UTF-8")));
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(doc, null);
String fileName = "listaConsulenti.pdf";
String absolutePath = getServletContext().getRealPath("/");
String tempPath = absolutePath + "temp/";
File file = new File(tempPath, fileName);
file.createNewFile();
OutputStream os = new FileOutputStream(file);
renderer.layout();
renderer.createPDF(os);
os.close();

Этот код работает. Теперь мне нужно создать еще один PDF-файл, который нужно повернуть на страницу А4 на 90 °. Используя org.w3c.dom.Document я не могу найти, как это сделать. Существует возможность использовать другой класс документа, com.itextpdf.text.Document , который имеет метод rotate () для его поворота, но с помощью этого документа я не могу найти, как это сделать, чтобы проанализировать мой Строка (HTML code) ...

Подсказка

Ответы [ 2 ]

0 голосов
/ 28 марта 2012

... Я только что узнал, что iTextRendere является не частью iText, а Flying Source.В этой ссылке я видел, что создание альбомной страницы просто делается путем добавления некоторого CSS к исходному (X) HTML:

<style type="text/css"> 
@page{ size: 11.69in 8.27in;}
...
</style>
0 голосов
/ 28 марта 2012

Если все, что вам нужно, это документ на его стороне, вы можете использовать следующее:

private Document document = new Document(PageSize.A4.rotate());
...