как itext разделил одну большую страницу на две или три - PullRequest
0 голосов
/ 10 апреля 2019

Я делю PDF, у него есть только одна страница, которая довольно длинная и большая, я хочу разделить его на две или более страниц.

Я пытаюсь использовать itext5.

public static void splitPDF(InputStream inputStream,
    OutputStream outputStream, int fromPage, int toPage) {
    Rectangle rect = new Rectangle(PageSize.A4);
    Document document = new Document(rect);
    try {
        PdfReader.unethicalreading = true;
        PdfReader inputPDF = new PdfReader(inputStream);
        int totalPages = inputPDF.getNumberOfPages();
        System.out.println(totalPages);

        // Create a writer for the outputstream
        PdfWriter writer = PdfWriter.getInstance(document, outputStream);
        document.open();
        PdfContentByte cb = writer.getDirectContent(); // Holds the PDF data
        PdfImportedPage page = writer.getImportedPage(inputPDF, 1);
        document.newPage();
        cb.addTemplate(page, 0, 0);

        document.newPage();
        cb.addTemplate(page, -PageSize.A4.getWidth(), 0);

        outputStream.flush();
        document.close();
        outputStream.close();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (document.isOpen())
            document.close();
        try {
            if (outputStream != null)
                outputStream.close();
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}

Я ожидал разделить одну страницу на две или более.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...