Как сделать так, чтобы распечатка pdf занимала всю страницу формата A4

#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(...) , который может управлять всем этим без пользовательского ввода, но параметры «без пользовательского ввода» требуют специальных прав на выполнение… вы могли бы организовать это с помощью безопасности сертификата и некоторых пользовательских настроек, но опять же, вы можете и не делать этого.