Concaténation de deux pdf

Soyez le premier à donner votre avis sur cette source.

Snippet vu 20 569 fois - Téléchargée 16 fois

Contenu du snippet

Permet à partir de deux fichiers PDF en entrée d'avoir un fichier PDF en sortie.

Utilisation de la librairie ITEXT www.lowagie.com/iText/

Source / Exemple :


package fact;

import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;

import com.lowagie.text.Document;
import com.lowagie.text.pdf.PRAcroForm;
import com.lowagie.text.pdf.PdfCopy;
import com.lowagie.text.pdf.PdfImportedPage;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.SimpleBookmark;

/**

  • Permet la concaténation de deux PDF en un.
  • @author Johann Pons
  • /
public class Concatenate { public static void main(String args[]) { args = new String[]{"c:\\ccn.pdf", "c:\\trame.pdf", "c:\\out.pdf"}; try { int pageOffset = 0; ArrayList master = new ArrayList(); int f = 0; String outFile = args[args.length - 1]; Document document = null; PdfCopy writer = null; while (f < args.length - 1) { PdfReader reader = new PdfReader(args[f]); reader.consolidateNamedDestinations(); int n = reader.getNumberOfPages(); List bookmarks = SimpleBookmark.getBookmark(reader); if (bookmarks != null) { if (pageOffset != 0) { SimpleBookmark.shiftPageNumbers(bookmarks, pageOffset, null); } master.addAll(bookmarks); } pageOffset += n; if (f == 0) { document = new Document(reader.getPageSizeWithRotation(1)); writer = new PdfCopy(document, new FileOutputStream(outFile)); document.open(); } PdfImportedPage page; for (int i = 0; i < n;) { ++i; page = writer.getImportedPage(reader, i); writer.addPage(page); } PRAcroForm form = reader.getAcroForm(); if (form != null) { writer.copyAcroForm(reader); } f++; } if (!master.isEmpty()) { writer.setOutlines(master); } document.close(); } catch (Exception e) { e.printStackTrace(); } } }

A voir également

Ajouter un commentaire

Commentaire

Messages postés
300
Date d'inscription
jeudi 12 juin 2003
Statut
Membre
Dernière intervention
9 juillet 2008
1
Elle est super pratique la lib, permet de générer du RTF également.

Je l'ai utilisé une fois pour la génération automatique de la doc en pdf et rtf mais la mise en forme des documents n'est pas du tout bien gérée :(:(

cdt,

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (ponsjohann)