2009-01-29 11 views
2

J'utilise iText pour générer des rapports PDF lorsque je suis tombé sur ce problème, et j'ai développé un exemple simple pour l'illustrer.Enveloppe de page iText- change l'ordre des éléments

Je combine des paragraphes simples et des images.

La hauteur des images est telle que 3 va tenir sur une page PDF, mais si le texte est sur une page, seulement 2 images vont s'adapter.

Je crée mon 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 me attends à la sortie de ressembler à ce

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 

I Je ne mets aucune sorte de paramètres d'emballage bizarre en utilisant iText, l'exemple est vraiment simple.

Avez-vous des idées sur la raison pour laquelle cela semble mal emballer automatiquement?

Dans le cas réel, l'ajout d'un saut de page n'est pas une solution acceptable.

Merci beaucoup.

Répondre

5

Figure dehors moi-même;)

writer.setStrictImageSequence(true); 

Ce fut une décision de conception dans iText de ne pas couper les images en deux, au lieu, il ajoute tout autre contenu d'abord.

En réglant ce booléen, iText respecte la commande.

Questions connexes