Java tutorial
import java.io.FileOutputStream; import java.util.ArrayList; import java.util.List; import com.lowagie.text.Chapter; import com.lowagie.text.Document; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.Section; import com.lowagie.text.pdf.PdfCopy; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfWriter; import com.lowagie.text.pdf.SimpleBookmark; public class MainClass { public static void main(String[] args) throws Exception { Document document = new Document(PageSize.A4); Paragraph hello = new Paragraph("(English:) hello, "); PdfWriter.getInstance(document, new FileOutputStream("HelloWorld1.pdf")); document.open(); Chapter universe = new Chapter("asdf", 1); Section section; document.add(universe); document.close(); document = new Document(PageSize.A4); PdfWriter.getInstance(document, new FileOutputStream("HelloWorld2.pdf")); document.open(); Chapter people = new Chapter("asdf", 2); section = people.addSection("B"); section.add(hello); document.add(people); document.close(); document = new Document(PageSize.A4); PdfWriter.getInstance(document, new FileOutputStream("HelloWorld3.pdf")); document.open(); Chapter animals = new Chapter("asdf", 3); section = animals.addSection("B"); section.add(hello); document.add(animals); document.close(); ArrayList bookmarks = new ArrayList(); PdfReader reader = new PdfReader("HelloWorld1.pdf"); document = new Document(reader.getPageSizeWithRotation(1)); PdfCopy copy = new PdfCopy(document, new FileOutputStream("HelloWorldCopyBookmarks.pdf")); document.open(); copy.addPage(copy.getImportedPage(reader, 1)); bookmarks.addAll(SimpleBookmark.getBookmark(reader)); reader = new PdfReader("HelloWorld2.pdf"); copy.addPage(copy.getImportedPage(reader, 1)); List tmp = SimpleBookmark.getBookmark(reader); SimpleBookmark.shiftPageNumbers(tmp, 1, null); bookmarks.addAll(tmp); reader = new PdfReader("HelloWorld3.pdf"); copy.addPage(copy.getImportedPage(reader, 1)); tmp = SimpleBookmark.getBookmark(reader); SimpleBookmark.shiftPageNumbers(tmp, 2, null); bookmarks.addAll(tmp); copy.setOutlines(bookmarks); document.close(); } }