#pdf #pdf-generation #seam #itext
#PDF #pdf-генерация #шов #itext
Вопрос:
Я использую модуль jboss seam iText для создания образца PDF-файла, который по умолчанию отображается с увеличением страницы 143%. Однако, когда я беру распечатку, выходные данные занимают не всю страницу. Какие настройки я должен изменить, чтобы при распечатке использовался весь лист.
Ответ №1:
Если вы используете формат seam-pdf, настройки размера документа указаны в <document>
теге:
<p:document type="pdf"
pageSize="A4"
orientation="portrait"
margings="2cm, 2cm, 2cm, 2cm"
disposition="attachment"
title="Document title"
subject="Document subject (appears in the doc properties from pdf viewer)"
author="Document Author"
creator="Document Creator">
<!-- define the page here -->
</p:document>
Ответ №2:
Вы можете изменить свой первоначальный размер страницы на A4.
Document doc = new Document(PageSize.A4);
Вы можете попросить своих пользователей правильно настроить свой принтер. В Reader X есть выпадающий список «Масштабирование страницы», и один из вариантов — «Подогнать под область печати». Я полагаю, что в предыдущих версиях был флажок для того же элемента управления, но я не уверен.
Вы можете изменить начальный вид страницы, но это не изменит режим печати… по крайней мере, не так, как вы хотите. Смотрите PdfViewerPreferences, реализованный PdfWriter
.
Существует также метод javascript, doc.print(...)
, который может управлять всем этим без пользовательского ввода, но параметры «без пользовательского ввода» требуют специальных прав на выполнение… вы могли бы организовать это с помощью безопасности сертификата и некоторых пользовательских настроек, но опять же, вы можете и не делать этого.