use of com.itextpdf.kernel.pdf.PdfOutline in project i7js-highlevel by itext.
the class C06E11_TOC_OutlinesDestinations method createPdf.
public void createPdf(String dest) throws IOException {
// Initialize PDF document
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
pdf.getCatalog().setPageMode(PdfName.UseOutlines);
// Initialize document
Document document = new Document(pdf);
PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
PdfFont bold = PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD);
document.setTextAlignment(TextAlignment.JUSTIFIED).setHyphenation(new HyphenationConfig("en", "uk", 3, 3)).setFont(font).setFontSize(11);
BufferedReader br = new BufferedReader(new FileReader(SRC));
String line;
Paragraph p;
boolean title = true;
PdfOutline outline = null;
while ((line = br.readLine()) != null) {
p = new Paragraph(line);
p.setKeepTogether(true);
if (title) {
outline = createOutline(outline, pdf, line, p);
p.setFont(bold).setFontSize(12).setKeepWithNext(true);
title = false;
document.add(p);
} else {
p.setFirstLineIndent(36);
if (line.isEmpty()) {
p.setMarginBottom(12);
title = true;
} else {
p.setMarginBottom(0);
}
document.add(p);
}
}
// Close document
document.close();
}
use of com.itextpdf.kernel.pdf.PdfOutline in project i7js-highlevel by itext.
the class C06E10_TOC_OutlinesNames method createPdf.
public void createPdf(String dest) throws IOException {
// Initialize PDF document
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
pdf.getCatalog().setPageMode(PdfName.UseOutlines);
// Initialize document
Document document = new Document(pdf);
PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
PdfFont bold = PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD);
document.setTextAlignment(TextAlignment.JUSTIFIED).setHyphenation(new HyphenationConfig("en", "uk", 3, 3)).setFont(font).setFontSize(11);
BufferedReader br = new BufferedReader(new FileReader(SRC));
String name, line;
Paragraph p;
boolean title = true;
int counter = 0;
PdfOutline outline = null;
while ((line = br.readLine()) != null) {
p = new Paragraph(line);
p.setKeepTogether(true);
if (title) {
name = String.format("title%02d", counter++);
outline = createOutline(outline, pdf, line, name);
p.setFont(bold).setFontSize(12).setKeepWithNext(true).setDestination(name);
title = false;
document.add(p);
} else {
p.setFirstLineIndent(36);
if (line.isEmpty()) {
p.setMarginBottom(12);
title = true;
} else {
p.setMarginBottom(0);
}
document.add(p);
}
}
// Close document
document.close();
}
use of com.itextpdf.kernel.pdf.PdfOutline in project i7js-highlevel by itext.
the class C06E10_TOC_OutlinesNames method createOutline.
public PdfOutline createOutline(PdfOutline outline, PdfDocument pdf, String title, String name) {
if (outline == null) {
outline = pdf.getOutlines(false);
outline = outline.addOutline(title);
outline.addDestination(PdfDestination.makeDestination(new PdfString(name)));
return outline;
}
PdfOutline kid = outline.addOutline(title);
kid.addDestination(PdfDestination.makeDestination(new PdfString(name)));
return outline;
}
use of com.itextpdf.kernel.pdf.PdfOutline in project i7js-highlevel by itext.
the class C06E12_Outlines method createPdf.
public void createPdf(String dest) throws IOException {
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
pdf.addNewPage();
pdf.getCatalog().setPageMode(PdfName.UseOutlines);
PdfOutline root = pdf.getOutlines(false);
List<List<String>> resultSet = CsvTo2DList.convert(SRC, "|");
resultSet.remove(0);
for (List<String> record : resultSet) {
PdfOutline movie = root.addOutline(record.get(2));
PdfOutline imdb = movie.addOutline("Link to IMDB");
imdb.setColor(ColorConstants.BLUE);
imdb.setStyle(PdfOutline.FLAG_BOLD);
String url = String.format("http://www.imdb.com/title/tt%s", record.get(0));
imdb.addAction(PdfAction.createURI(url));
PdfOutline info = movie.addOutline("More info:");
info.setOpen(false);
info.setStyle(PdfOutline.FLAG_ITALIC);
PdfOutline director = info.addOutline("Directed by " + record.get(3));
director.setColor(ColorConstants.RED);
PdfOutline place = info.addOutline("Produced in " + record.get(4));
place.setColor(ColorConstants.MAGENTA);
PdfOutline year = info.addOutline("Released in " + record.get(1));
year.setColor(ColorConstants.DARK_GRAY);
}
pdf.close();
}
Aggregations