سؤال

وأنا باستخدام iText لتوليد تقارير PDF عندما جئت عبر هذه المسألة، وعملت حتى مثال بسيط لتوضيح ذلك.

وأنا الجمع بين الفقرتين بسيطة، والصور.

وارتفاع الصور هو أن هذه 3 سوف يتم احتواءه على صفحة PDF، ولكن عندما إذا نص على صفحة، فقط 2 الصور يصلح.

وأنا إنشاء بلدي PDF مع التعليمات البرمجية التالية:

    Document document = new Document(PageSize.LETTER, 0, 0, 0, 0);
    PdfWriter writer = PdfWriter.getInstance(document, fileOutput);
    document.open();
    document.add(new Paragraph("hello world1"));
    addImage(document);
    addImage(document);
    addImage(document);
    document.add(new Paragraph("hello world2"));
    document.close();

وأتوقع الإخراج إلى تبدو هذه

hello world1
image
image
<page break>
image
hello world2

وبدلا من ذلك، ما يحصل هو،

Hello world 1
image
image
hello world 2
<page break>
image

وأنا لا وضع أي نوع من المعلمات التفاف غريبة باستخدام iText، والمثال هو في الحقيقة مجرد واحد بسيط.

وأي أفكار لماذا يبدو أن صناعة السيارات في التفاف هذا غير صحيح؟

في حالة حقيقية، مجرد إضافة فاصل صفحات ليست حلا مقبولا.

وشكرا جزيلا.

هل كانت مفيدة؟

المحلول

والشكل بها نفسي؛)

writer.setStrictImageSequence(true); 

ولقد كان قرارا التصميم في iText لعدم قص الصور في اثنين، بدلا من ذلك يضيف المحتويات الأخرى أولا.

ووضع هذا منطقي يسبب iText باحترام الطلب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top