use of com.itextpdf.kernel.pdf.PdfWriter in project i7js-highlevel by itext.
the class C07E03_PageXofY method createPdf.
public void createPdf(String dest) throws IOException {
// Initialize PDF document
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
pdf.addEventHandler(PdfDocumentEvent.START_PAGE, new Header("The Strange Case of Dr. Jekyll and Mr. Hyde"));
PageXofY event = new PageXofY(pdf);
pdf.addEventHandler(PdfDocumentEvent.END_PAGE, event);
// 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));
BufferedReader br = new BufferedReader(new FileReader(SRC));
String line;
Div div = new Div();
while ((line = br.readLine()) != null) {
document.add(new Paragraph(line).setFont(bold).setFontSize(12).setMarginBottom(0).setKeepWithNext(true));
div = new Div().setFont(font).setFontSize(11).setMarginBottom(18);
while ((line = br.readLine()) != null) {
div.add(new Paragraph(line).setMarginBottom(0).setFirstLineIndent(36).setMultipliedLeading(1.2f));
if (line.isEmpty()) {
document.add(div);
break;
}
}
}
document.add(div);
event.writeTotal(pdf);
// Close document
document.close();
}
use of com.itextpdf.kernel.pdf.PdfWriter in project i7js-highlevel by itext.
the class C07E07_PageLayoutPageMode method createPdf.
public void createPdf(String dest) throws IOException {
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
pdf.getCatalog().setPageLayout(PdfName.TwoColumnRight);
pdf.getCatalog().setPageMode(PdfName.UseThumbs);
PdfPage page = pdf.addNewPage();
page.setPageLabel(PageLabelNumberingStyle.LOWERCASE_ROMAN_NUMERALS, null);
Document document = new Document(pdf);
document.add(new Paragraph().add("Page left blank intentionally"));
document.add(new AreaBreak());
document.add(new Paragraph().add("Page left blank intentionally"));
document.add(new AreaBreak());
document.add(new Paragraph().add("Page left blank intentionally"));
document.add(new AreaBreak());
page = pdf.getLastPage();
page.setPageLabel(PageLabelNumberingStyle.DECIMAL_ARABIC_NUMERALS, null, 1);
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;
List<AbstractMap.SimpleEntry<String, AbstractMap.SimpleEntry<String, Integer>>> toc = new ArrayList<>();
while ((line = br.readLine()) != null) {
p = new Paragraph(line);
p.setKeepTogether(true);
if (title) {
name = String.format("title%02d", counter++);
p.setFont(bold).setFontSize(12).setKeepWithNext(true).setDestination(name);
title = false;
document.add(p);
toc.add(new AbstractMap.SimpleEntry(name, new AbstractMap.SimpleEntry(line, pdf.getNumberOfPages())));
} else {
p.setFirstLineIndent(36);
if (line.isEmpty()) {
p.setMarginBottom(12);
title = true;
} else {
p.setMarginBottom(0);
}
document.add(p);
}
}
document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
p = new Paragraph().setFont(bold).add("Table of Contents").setDestination("toc");
document.add(p);
page = pdf.getLastPage();
page.setPageLabel(null, "TOC", 1);
toc.remove(0);
List<TabStop> tabstops = new ArrayList();
tabstops.add(new TabStop(580, TabAlignment.RIGHT, new DottedLine()));
for (AbstractMap.SimpleEntry<String, AbstractMap.SimpleEntry<String, Integer>> entry : toc) {
AbstractMap.SimpleEntry<String, Integer> text = entry.getValue();
p = new Paragraph().addTabStops(tabstops).add(text.getKey()).add(new Tab()).add(String.valueOf(text.getValue())).setAction(PdfAction.createGoTo(entry.getKey()));
document.add(p);
}
document.close();
}
use of com.itextpdf.kernel.pdf.PdfWriter in project i7js-highlevel by itext.
the class C07E02_TextWatermark method createPdf.
public void createPdf(String dest) throws IOException {
// Initialize PDF document
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
pdf.addEventHandler(PdfDocumentEvent.END_PAGE, new TextWatermark());
// 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));
BufferedReader br = new BufferedReader(new FileReader(SRC));
String line;
Div div = new Div();
while ((line = br.readLine()) != null) {
document.add(new Paragraph(line).setFont(bold).setFontSize(12).setMarginBottom(0).setKeepWithNext(true));
div = new Div().setFont(font).setFontSize(11).setMarginBottom(18);
while ((line = br.readLine()) != null) {
div.add(new Paragraph(line).setMarginBottom(0).setFirstLineIndent(36).setMultipliedLeading(1.2f));
if (line.isEmpty()) {
document.add(div);
break;
}
}
}
document.add(div);
// Close document
document.close();
}
use of com.itextpdf.kernel.pdf.PdfWriter in project i7js-highlevel by itext.
the class Renderers method createPdf.
public void createPdf(String dest) throws IOException {
// Initialize PDF document
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
// Initialize document
Document document = new Document(pdf);
Paragraph p = new Paragraph().add(TEXT);
document.add(p);
document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
// Set column parameters
float offSet = 36;
float gutter = 23;
float columnWidth = (PageSize.A4.getWidth() - offSet * 2) / 2 - gutter;
float columnHeight = PageSize.A4.getHeight() - offSet * 2;
// Define column areas
Rectangle[] columns = { new Rectangle(offSet, offSet, columnWidth, columnHeight), new Rectangle(offSet + columnWidth + gutter, offSet, columnWidth, columnHeight) };
document.setRenderer(new ColumnDocumentRenderer(document, columns));
document.add(new AreaBreak(AreaBreakType.LAST_PAGE));
for (int i = 0; i < 10; i++) document.add(p);
document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
document.setRenderer(new DocumentRenderer(document));
document.add(new AreaBreak(AreaBreakType.LAST_PAGE));
document.add(p);
// Close document
document.close();
}
use of com.itextpdf.kernel.pdf.PdfWriter in project i7js-highlevel by itext.
the class DivProperties method createPdf.
public void createPdf(String dest) throws IOException {
// Initialize PDF document
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
// Initialize document
Document document = new Document(pdf);
Style style = new Style();
style.setBackgroundColor(ColorConstants.YELLOW).setBorder(new SolidBorder(0.5f));
document.add(createNewDiv().addStyle(style).setWidth(350).setHorizontalAlignment(HorizontalAlignment.CENTER).setTextAlignment(TextAlignment.CENTER).setDestination("Top"));
PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
document.add(createNewDiv().setRotationAngle(Math.PI / 18).setFont(font).setFontSize(8).setFontColor(ColorConstants.RED));
document.add(createNewDiv().setWidth(350).setHyphenation(new HyphenationConfig("en", "uk", 3, 3)).setKeepWithNext(true));
document.add(createNewDiv().setWidth(UnitValue.createPercentValue(70)).setKeepTogether(true));
document.add(createNewDiv().setHeight(350).setBackgroundColor(ColorConstants.YELLOW).setAction(PdfAction.createGoTo("Top")).setRelativePosition(10, 10, 50, 10));
document.add(new AreaBreak());
document.add(createNewDiv().setFixedPosition(100, 400, 350));
document.add(new AreaBreak());
document.add(createNewDiv().setBackgroundColor(ColorConstants.YELLOW).setMarginBottom(10));
document.add(createNewDiv().setBackgroundColor(ColorConstants.LIGHT_GRAY).setPaddingLeft(20).setPaddingRight(50));
document.add(createNewDiv().setBackgroundColor(ColorConstants.YELLOW));
document.add(createNewDiv().setBackgroundColor(ColorConstants.LIGHT_GRAY));
document.add(createNewDiv().setBackgroundColor(ColorConstants.YELLOW));
document.add(createNewDiv().setBackgroundColor(ColorConstants.LIGHT_GRAY).setMargin(50).setPadding(30));
document.add(createNewDiv().setBackgroundColor(ColorConstants.YELLOW));
document.add(createNewDiv().setBackgroundColor(ColorConstants.LIGHT_GRAY));
document.close();
}
Aggregations