Concaténation de deux pdf

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

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)