2017-08-31 6 views
-2

Selon les conditions, je dois cacher une section et la section ci-dessous devrait se déplacer au-dessus. Ainsi, lors de la génération du PDF, la section masquée ne doit pas apparaître comme vide.Comment cacher une section en PDF en utilisant iText7

+0

Pouvez-vous s'il vous plaît fournir un code que vous avez essayé, et quelques problèmes spécifiques que vous avez trouvé? – ainwood

+1

Votre question est erronée. Vous ne pouvez pas parler de PDF parce que votre exigence va à l'encontre de la spécification PDF. Vous parlez probablement de HTML, .docx, .txt, RTF, ... –

Répondre

1

Quelques précisions:

Si vous faites cela avec un PDF existant, il est peu probable de travailler. Les documents PDF ne sont pas au format WYSIWYG. Considérez-les davantage comme des conteneurs d'instructions de dessin que comme des conteneurs de texte.

Déplacement d'une section d'un document existant ne fonctionnera pas parce que:

  • le document lui-même ne contient pas d'informations sur les instructions vont ensemble pour faire des lignes, des paragraphes et sections
  • le document utilise la compression et octets décalages, le déplacement ou la suppression d'une partie de cela impliquerait que vous avez besoin de recalculer tous les octets décalages

Si vous laissez tomber l'exigence de re-couler le texte, il est certainement possible. iText a déjà un add-on pour pdfSweep qui regarde toutes les opérations de dessin et de rendu et supprime celles qui se croisent avec un rectangle donné (ou les ajuste, par exemple quand un chemin traverse le rectangle)

Si vous générez le pdf, c'est bien sûr trivial. Vous pouvez tout simplement faire quelque chose comme:

File outputFile = new File(System.getProperty("user.home"),"output.pdf"); 
PdfDocument pdfDocument = new PdfDocument(new PdfWriter(outputFile)); 
Document layoutDocument = new Document(pdfDocument); 

if(some_condition) 
{ 
    layoutDocument.add(new Paragraph("Lorem Ipsum Dolor Sit Amet")); 
} 
layoutDocument.add(new Paragraph("Never gonna give you up. Never gonna let you down.")); 

Découvrez http://itextpdf.com/itext7/pdfsweep

+0

Merci Joris..je vais travailler sur vos suggestions –