Как переворачивать страницу во время создания PDF-документа?

82
18 мая 2021, 14:00

Я хочу создать PDF-файл с альбомной ориентацией страниц. Когда я меняю формат страницы на альбомный с помощью document.setPageSize(PageSize.LETTER.rotate());, проблема не решается. Содержимое все равно отображается слева направо, а не снизу вверх.

Я хочу создать PDF-файл с альбомной ориентацией страниц. Когда я меняю формат страницы на альбомный с помощью document.setPageSize(PageSize.LETTER.rotate());, проблема не решается. Содержимое все равно отображается слева направо, а не снизу вверх.

Answer 1

Вы можете добиться желаемого результата в iText 7 с помощью интерфейса EventHandler:

protected class PageRotationEventHandler implements IEventHandler { 
    protected PdfNumber rotation = PORTRAIT; 
    public void setRotation(PdfNumber orientation) { 
        this.rotation = orientation; 
    } 
    @Override 
    public void handleEvent(Event event) { 
        PdfDocumentEvent docEvent = (PdfDocumentEvent) event; 
        docEvent.getPage().put(PdfName.Rotate, rotation); 
    }  
}

Используйте PageRotationEventHandler сразу после определения средства записи:

PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest)); 
PageRotationEventHandler eventHandler = new PageRotationEventHandler(); 
pdfDoc.addEventHandler(PdfDocumentEvent.START_PAGE, eventHandler);

Обратите внимание, что я использую SEASCAPE, чтобы получить ориентацию из вашего примера. iText7 предлагает следующие значения для вращения:

  • INVERTEDPORTRAIT = new PdfNumber(180);
  • LANDSCAPE = new PdfNumber(90);
  • PORTRAIT = new PdfNumber(0);
  • SEASCAPE = new PdfNumber(270);
READ ALSO
Intellij idea не видит библиотеку для RESTful Web Service

Intellij idea не видит библиотеку для RESTful Web Service

Пытаюсь создать RESTful приложениее, но Intellij idea не видит библиотеку, смена версии JAVA EE не помогаетКак можно решить эту проблему? Спасибо

120
Android: Как определить конец прокрутки GridView

Android: Как определить конец прокрутки GridView

Есть парсер, который вытаскивает с сайта ссылки на картинки и дальше при помощи Picasso они загружаются в GridViewТак как картинок очень много, вытащить...

332
Синтаксическая ошибка в имени файла, имени папки или метке тома

Синтаксическая ошибка в имени файла, имени папки или метке тома

Ребят, подскажите пожалуйста, как указать путь к файлу чтобы он не ругался? FileNotFoundException

168
Android. Как обратиться к WebView из public void onClick(View view)?

Android. Как обратиться к WebView из public void onClick(View view)?

Есть конструкция которая находится в :

111