Search in sources :

Example 61 with Rectangle

use of com.itextpdf.kernel.geom.Rectangle in project java-example by saxingz.

the class A0025PdfApplication method main.

public static void main(String[] args) throws IOException {
    byte[] user = "".getBytes();
    byte[] owner = "xyz".getBytes();
    // PdfDocument pdfDoc =
    // new PdfDocument(new PdfReader("D:\\D_desktop\\book\\big2.pdf"),
    // new PdfWriter("D:\\D_desktop\\book\\big4.pdf",
    // new WriterProperties()
    // .setStandardEncryption(user, owner,
    // EncryptionConstants.ALLOW_PRINTING | EncryptionConstants.ALLOW_COPY,
    // EncryptionConstants.ENCRYPTION_AES_256)));
    PdfDocument pdfDoc = new PdfDocument(new PdfReader(INPATH), new PdfWriter(OUTPATH));
    Document document = new Document(pdfDoc);
    Rectangle pageSize;
    PdfCanvas canvas;
    int totalPage = pdfDoc.getNumberOfPages();
    for (int i = 1; i <= totalPage; i++) {
        System.out.print("进度: " + i + " / " + totalPage + "\t");
        PdfPage page = pdfDoc.getPage(i);
        pageSize = page.getPageSize();
        canvas = new PdfCanvas(page);
        addText2(canvas, pageSize, totalPage, i, document, pdfDoc, page);
    }
    pdfDoc.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) Rectangle(com.itextpdf.kernel.geom.Rectangle) PdfCanvas(com.itextpdf.kernel.pdf.canvas.PdfCanvas) PdfReader(com.itextpdf.kernel.pdf.PdfReader) PdfPage(com.itextpdf.kernel.pdf.PdfPage) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument)

Example 62 with Rectangle

use of com.itextpdf.kernel.geom.Rectangle in project axelor-open-suite by axelor.

the class TableFooterEventHandler method handleEvent.

@SuppressWarnings("resource")
@Override
public void handleEvent(Event event) {
    PdfDocumentEvent docEvent = (PdfDocumentEvent) event;
    PdfDocument pdfDoc = docEvent.getDocument();
    PdfPage page = docEvent.getPage();
    PdfCanvas canvas = new PdfCanvas(page.newContentStreamBefore(), page.getResources(), pdfDoc);
    Rectangle rect1 = new Rectangle(pdfDoc.getDefaultPageSize().getX() + doc.getLeftMargin(), pdfDoc.getDefaultPageSize().getBottom() - doc.getBottomMargin(), 100, 90);
    new Canvas(canvas, pdfDoc, rect1).add(tableFooter);
}
Also used : PdfDocumentEvent(com.itextpdf.kernel.events.PdfDocumentEvent) Canvas(com.itextpdf.layout.Canvas) PdfCanvas(com.itextpdf.kernel.pdf.canvas.PdfCanvas) Rectangle(com.itextpdf.kernel.geom.Rectangle) PdfCanvas(com.itextpdf.kernel.pdf.canvas.PdfCanvas) PdfPage(com.itextpdf.kernel.pdf.PdfPage) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument)

Example 63 with Rectangle

use of com.itextpdf.kernel.geom.Rectangle in project i7js-highlevel by itext.

the class C02E09_JekyllHydeV5 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);
    // 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));
    PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
    PdfFont bold = PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD);
    document.setTextAlignment(TextAlignment.JUSTIFIED).setFont(font).setHyphenation(new HyphenationConfig("en", null, 3, 3));
    BufferedReader br = new BufferedReader(new FileReader(SRC));
    String line;
    Paragraph p;
    boolean title = true;
    AreaBreak nextPage = new AreaBreak(AreaBreakType.NEXT_PAGE);
    while ((line = br.readLine()) != null) {
        p = new Paragraph(line);
        if (title) {
            p.setFont(bold).setFontSize(12);
            title = false;
        } else {
            p.setFirstLineIndent(36);
        }
        if (line.isEmpty()) {
            document.add(nextPage);
            title = true;
        }
        document.add(p);
    }
    br.close();
    // Close document
    document.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) Rectangle(com.itextpdf.kernel.geom.Rectangle) HyphenationConfig(com.itextpdf.layout.hyphenation.HyphenationConfig) AreaBreak(com.itextpdf.layout.element.AreaBreak) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph) ColumnDocumentRenderer(com.itextpdf.layout.ColumnDocumentRenderer) PdfFont(com.itextpdf.kernel.font.PdfFont) BufferedReader(java.io.BufferedReader) FileReader(java.io.FileReader)

Example 64 with Rectangle

use of com.itextpdf.kernel.geom.Rectangle in project i7js-highlevel by itext.

the class C02E10_JekyllHydeV6 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("Be prepared to read a story about a London lawyer " + "named Gabriel John Utterson who investigates strange " + "occurrences between his old friend, Dr. Henry Jekyll, " + "and the evil Edward Hyde.");
    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));
    PdfFont font = PdfFontFactory.createFont(StandardFonts.TIMES_ROMAN);
    PdfFont bold = PdfFontFactory.createFont(StandardFonts.HELVETICA_BOLD);
    document.setTextAlignment(TextAlignment.JUSTIFIED).setFont(font).setHyphenation(new HyphenationConfig("en", null, 3, 3));
    BufferedReader br = new BufferedReader(new FileReader(SRC));
    String line;
    boolean title = true;
    AreaBreak nextPage = new AreaBreak(AreaBreakType.NEXT_AREA);
    while ((line = br.readLine()) != null) {
        p = new Paragraph(line);
        if (title) {
            p.setFont(bold).setFontSize(12);
            title = false;
        } else {
            p.setFirstLineIndent(36);
        }
        if (line.isEmpty()) {
            document.add(nextPage);
            title = true;
        }
        document.add(p);
    }
    br.close();
    document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
    document.setRenderer(new DocumentRenderer(document));
    document.add(new AreaBreak(AreaBreakType.LAST_PAGE));
    p = new Paragraph().add("This was the story about the London lawyer " + "named Gabriel John Utterson who investigates strange " + "occurrences between his old friend, Dr. Henry Jekyll, " + "and the evil Edward Hyde. THE END!");
    document.add(p);
    // Close document
    document.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) Rectangle(com.itextpdf.kernel.geom.Rectangle) HyphenationConfig(com.itextpdf.layout.hyphenation.HyphenationConfig) AreaBreak(com.itextpdf.layout.element.AreaBreak) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) DocumentRenderer(com.itextpdf.layout.renderer.DocumentRenderer) ColumnDocumentRenderer(com.itextpdf.layout.ColumnDocumentRenderer) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph) ColumnDocumentRenderer(com.itextpdf.layout.ColumnDocumentRenderer) PdfFont(com.itextpdf.kernel.font.PdfFont) BufferedReader(java.io.BufferedReader) FileReader(java.io.FileReader)

Example 65 with Rectangle

use of com.itextpdf.kernel.geom.Rectangle in project i7js-highlevel by itext.

the class C04E07_ListTypes method createPdf.

public void createPdf(String dest) throws IOException {
    // Initialize PDF document
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    // Initialize document
    PageSize pagesize = PageSize.A6.rotate();
    Document document = new Document(pdf, pagesize);
    // Set column parameters
    float offSet = 36;
    float gutter = 23;
    float columnWidth = (pagesize.getWidth() - offSet * 2) / 2 - gutter;
    float columnHeight = pagesize.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));
    List list = new List();
    list.add("Dr. Jekyll");
    list.add("Mr. Hyde");
    document.add(list);
    list = new List(ListNumberingType.DECIMAL);
    list.add("Dr. Jekyll");
    list.add("Mr. Hyde");
    document.add(list);
    list = new List(ListNumberingType.ENGLISH_LOWER);
    list.add("Dr. Jekyll");
    list.add("Mr. Hyde");
    document.add(list);
    list = new List(ListNumberingType.ENGLISH_UPPER);
    list.add("Dr. Jekyll");
    list.add("Mr. Hyde");
    document.add(list);
    list = new List(ListNumberingType.GREEK_LOWER);
    list.add("Dr. Jekyll");
    list.add("Mr. Hyde");
    document.add(list);
    list = new List(ListNumberingType.GREEK_UPPER);
    list.add("Dr. Jekyll");
    list.add("Mr. Hyde");
    document.add(list);
    list = new List(ListNumberingType.ROMAN_LOWER);
    list.add("Dr. Jekyll");
    list.add("Mr. Hyde");
    document.add(list);
    list = new List(ListNumberingType.ROMAN_UPPER);
    list.add("Dr. Jekyll");
    list.add("Mr. Hyde");
    document.add(list);
    list = new List(ListNumberingType.ZAPF_DINGBATS_1);
    list.add("Dr. Jekyll");
    list.add("Mr. Hyde");
    document.add(list);
    list = new List(ListNumberingType.ZAPF_DINGBATS_2);
    list.add("Dr. Jekyll");
    list.add("Mr. Hyde");
    document.add(list);
    list = new List(ListNumberingType.ZAPF_DINGBATS_3);
    list.add("Dr. Jekyll");
    list.add("Mr. Hyde");
    document.add(list);
    list = new List(ListNumberingType.ZAPF_DINGBATS_4);
    list.add("Dr. Jekyll");
    list.add("Mr. Hyde");
    document.add(list);
    // Close document
    document.close();
}
Also used : ColumnDocumentRenderer(com.itextpdf.layout.ColumnDocumentRenderer) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PageSize(com.itextpdf.kernel.geom.PageSize) Rectangle(com.itextpdf.kernel.geom.Rectangle) List(com.itextpdf.layout.element.List) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument)

Aggregations

Rectangle (com.itextpdf.kernel.geom.Rectangle)118 ExtendedITextTest (com.itextpdf.test.ExtendedITextTest)76 IntegrationTest (com.itextpdf.test.annotations.type.IntegrationTest)76 Test (org.junit.Test)76 PdfString (com.itextpdf.kernel.pdf.PdfString)42 PdfDocument (com.itextpdf.kernel.pdf.PdfDocument)41 PdfWriter (com.itextpdf.kernel.pdf.PdfWriter)37 ArrayList (java.util.ArrayList)29 PdfReader (com.itextpdf.kernel.pdf.PdfReader)22 PdfCanvas (com.itextpdf.kernel.pdf.canvas.PdfCanvas)16 Paragraph (com.itextpdf.layout.element.Paragraph)15 PdfFont (com.itextpdf.kernel.font.PdfFont)12 Document (com.itextpdf.layout.Document)12 Canvas (com.itextpdf.layout.Canvas)11 PdfPage (com.itextpdf.kernel.pdf.PdfPage)10 ColumnDocumentRenderer (com.itextpdf.layout.ColumnDocumentRenderer)9 LogMessages (com.itextpdf.test.annotations.LogMessages)9 AreaBreak (com.itextpdf.layout.element.AreaBreak)8 PdfCleanUpLocation (com.itextpdf.pdfcleanup.PdfCleanUpLocation)8 HyphenationConfig (com.itextpdf.layout.hyphenation.HyphenationConfig)7