2016-11-14 1 views
0

Excusez-moi de poser cette question, mais je ne vois rien de définitif sur le site Web d'iText.Est-il possible de fusionner plusieurs fichiers PDF en utilisant iText7

J'ai plusieurs fiches techniques pour les produits. Chacun est un fichier séparé. Ce que je veux faire est d'utiliser iText pour générer un ensemble d'actions récapitulatif/recommandé, basé sur les réponses à un formulaire Web, et ensuite ajouter à toutes les fiches de données pertinentes. De cette façon, j'ai seulement besoin d'ouvrir un nouvel onglet dans le navigateur pour imprimer toutes les informations, plutôt que d'en ouvrir un pour le résumé, et un pour chaque feuille de données qui est nécessaire.

Alors, est-il possible de faire cela par programme en utilisant iText?

Répondre

2

Oui, vous pouvez fusionner des fichiers PDF en utilisant iText 7. Par ex. regardez l'échantillon iText 7 Jump-Start tutorialC06E04_88th_Oscar_Combine, le code clé est:

PdfDocument pdf = new PdfDocument(new PdfWriter(dest)); 
PdfMerger merger = new PdfMerger(pdf); 

//Add pages from the first document 
PdfDocument firstSourcePdf = new PdfDocument(new PdfReader(SRC1)); 
merger.merge(firstSourcePdf, 1, firstSourcePdf.getNumberOfPages()); 

//Add pages from the second pdf document 
PdfDocument secondSourcePdf = new PdfDocument(new PdfReader(SRC2)); 
merger.merge(secondSourcePdf, 1, secondSourcePdf.getNumberOfPages()); 

firstSourcePdf.close(); 
secondSourcePdf.close(); 
pdf.close(); 

(C06E04_88th_Oscar_Combine méthode createPdf)


En fonction de votre cas d'utilisation, vous pouvez utiliser la PdfDenseMerger avec sa classe d'aide PageVerticalAnalyzer au lieu du PdfMerger ici. Il tente de mettre le contenu de plusieurs pages source sur une seule page cible et correspond à l'iText 5 PdfVeryDenseMergeTool de this answer. En raison de la nature des fichiers PDF, cela ne fonctionne que pour les fichiers PDF sans en-têtes, pieds de page et artefacts similaires.

+0

Merci beaucoup. On dirait que la bibliothèque fera tout ce dont j'ai besoin alors. Juste besoin d'obtenir un budget pour une licence! – Matt