Question

J'utilise iText pour générer des rapports PDF lorsque je suis tombé sur ce problème et que j'ai créé un exemple simple pour l'illustrer.

Je combine des paragraphes simples et des images.

La hauteur des images est telle que 3 images tiendront sur une page PDF, mais lorsque le texte est sur une page, seules 2 images tiendront.

Je crée mon fichier PDF avec le code suivant:

    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();

Je m'attends à ce que la sortie ressemble à ceci

hello world1
image
image
<page break>
image
hello world2

Au lieu de cela, ce que je reçois est,

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

Je ne mets aucun type de paramètre d’habillage étrange à l’aide de iText, l’exemple n’est en réalité qu’un simple.

Avez-vous des idées sur la raison pour laquelle cela semble masquer automatiquement cette erreur?

Dans les faits, ajouter un saut de page n'est pas une solution acceptable.

Merci beaucoup.

Était-ce utile?

La solution

Comprenez-le moi-même;)

writer.setStrictImageSequence(true); 

C’était une décision de conception dans iText de ne pas couper les images en deux, mais d’ajouter d’abord le contenu.

définir ce booléen force iText à respecter l'ordre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top