Search in sources :

Example 71 with Rectangle

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

the class CanvasLayoutMethods method createPdf.

public void createPdf(String dest) throws IOException {
    // Initialize PDF document
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    PdfPage page = pdf.addNewPage();
    PdfCanvas pdfCanvas = new PdfCanvas(page);
    Rectangle rectangle = new Rectangle(36, 36, 523, 770);
    Canvas canvas = new Canvas(pdfCanvas, rectangle);
    Paragraph p;
    p = new Paragraph("Testing layout methods");
    canvas.add(p);
    canvas.setTextAlignment(TextAlignment.CENTER);
    p = new Paragraph("Testing layout methods");
    canvas.add(p);
    p = new Paragraph();
    for (int i = 0; i < 6; i++) p.add("singing supercalifragilisticexpialidocious ");
    canvas.add(p);
    canvas.setHyphenation(new HyphenationConfig("en", "uk", 3, 3));
    canvas.add(p);
    canvas.setTextAlignment(TextAlignment.JUSTIFIED);
    canvas.add(p);
    canvas.setHyphenation(null);
    canvas.setSplitCharacters(new ISplitCharacters() {

        public boolean isSplitCharacter(GlyphLine text, int glyphPos) {
            if (!text.get(glyphPos).hasValidUnicode()) {
                return false;
            }
            int charCode = text.get(glyphPos).getUnicode();
            return (charCode < ' ' || charCode == 'i');
        }
    });
    canvas.add(p);
    canvas.setSplitCharacters(new DefaultSplitCharacters());
    canvas.setTextAlignment(TextAlignment.LEFT);
    canvas.add(p);
    canvas.setWordSpacing(10);
    canvas.add(p);
    canvas.setCharacterSpacing(5);
    canvas.add(p);
    // Close document
    pdf.close();
}
Also used : PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) DefaultSplitCharacters(com.itextpdf.layout.splitting.DefaultSplitCharacters) Canvas(com.itextpdf.layout.Canvas) PdfCanvas(com.itextpdf.kernel.pdf.canvas.PdfCanvas) Rectangle(com.itextpdf.kernel.geom.Rectangle) GlyphLine(com.itextpdf.io.font.otf.GlyphLine) PdfCanvas(com.itextpdf.kernel.pdf.canvas.PdfCanvas) HyphenationConfig(com.itextpdf.layout.hyphenation.HyphenationConfig) PdfPage(com.itextpdf.kernel.pdf.PdfPage) ISplitCharacters(com.itextpdf.layout.splitting.ISplitCharacters) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Paragraph(com.itextpdf.layout.element.Paragraph)

Example 72 with Rectangle

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

the class JekyllHydeV7 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, PageSize.A4);
    // Set column parameters
    float offSet = 27;
    float gutter = 18;
    float columnWidth = (PageSize.A4.getWidth() - offSet * 2) / 3 - gutter;
    float columnHeight = PageSize.A4.getHeight() - offSet * 2;
    // Define column areas
    Rectangle[] columns = { new Rectangle(offSet + gutter * 0.5f, offSet, columnWidth, columnHeight), new Rectangle(offSet + columnWidth + gutter * 1.5f, offSet, columnWidth, columnHeight), new Rectangle(offSet + columnWidth * 2 + gutter * 2.5f, 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).setHyphenation(new HyphenationConfig("en", "uk", 3, 3));
    BufferedReader br = new BufferedReader(new FileReader(SRC));
    boolean chapter = false;
    Div div = new Div();
    AreaBreak areaBreak = new AreaBreak(AreaBreakType.NEXT_PAGE);
    String line;
    while ((line = br.readLine()) != null) {
        div = new Div().setFont(font).setFontSize(11).setMarginBottom(18);
        div.add(new Paragraph(line).setFont(bold).setFontSize(12).setMarginBottom(0));
        while ((line = br.readLine()) != null) {
            div.add(new Paragraph(line).setMarginBottom(0).setFirstLineIndent(36));
            if (line.isEmpty()) {
                document.add(div);
                if (chapter) {
                    document.add(areaBreak);
                }
                div = new Div();
                chapter = true;
                break;
            }
        }
    }
    document.add(div);
    // 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) Div(com.itextpdf.layout.element.Div) ColumnDocumentRenderer(com.itextpdf.layout.ColumnDocumentRenderer) PdfFont(com.itextpdf.kernel.font.PdfFont) BufferedReader(java.io.BufferedReader) FileReader(java.io.FileReader)

Example 73 with Rectangle

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

the class C06E09_Annotation method createPdf.

public void createPdf(String dest) throws IOException {
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    Document document = new Document(pdf);
    PdfAction js = PdfAction.createJavaScript("app.alert('Boo!');");
    PdfAnnotation la1 = new PdfLinkAnnotation(new Rectangle(0, 0, 0, 0)).setHighlightMode(PdfAnnotation.HIGHLIGHT_INVERT).setAction(js).setBorderStyle(PdfAnnotation.STYLE_UNDERLINE);
    Link link1 = new Link("here", (PdfLinkAnnotation) la1);
    document.add(new Paragraph().add("Click ").add(link1).add(" if you want to be scared."));
    // here we need to add a page to the document beforehand, because we'll need to get its instance for destination creation
    pdf.addNewPage();
    PdfAnnotation la2 = new PdfLinkAnnotation(new Rectangle(0, 0, 0, 0)).setDestination(PdfExplicitDestination.createFit(pdf.getPage(2))).setHighlightMode(PdfAnnotation.HIGHLIGHT_PUSH).setBorderStyle(PdfAnnotation.STYLE_INSET);
    Link link2 = new Link("next page", (PdfLinkAnnotation) la2);
    document.add(new Paragraph().add("Go to the ").add(link2).add(" if you're too scared."));
    document.add(new AreaBreak(AreaBreakType.NEXT_PAGE));
    document.add(new Paragraph().add("There, there, everything is OK."));
    document.close();
}
Also used : PdfAction(com.itextpdf.kernel.pdf.action.PdfAction) PdfWriter(com.itextpdf.kernel.pdf.PdfWriter) PdfLinkAnnotation(com.itextpdf.kernel.pdf.annot.PdfLinkAnnotation) PdfAnnotation(com.itextpdf.kernel.pdf.annot.PdfAnnotation) Rectangle(com.itextpdf.kernel.geom.Rectangle) AreaBreak(com.itextpdf.layout.element.AreaBreak) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Document(com.itextpdf.layout.Document) PdfDocument(com.itextpdf.kernel.pdf.PdfDocument) Link(com.itextpdf.layout.element.Link) Paragraph(com.itextpdf.layout.element.Paragraph)

Example 74 with Rectangle

use of com.itextpdf.kernel.geom.Rectangle in project pdf-editor by Pdf-Creator.

the class PDFDocument method addRectangleWithImageItem.

public void addRectangleWithImageItem(ImageItem imageItem) throws MalformedURLException {
    PdfCanvas canvas = new PdfCanvas(currentPage);
    Rectangle rect = new Rectangle(imageItem.getX(), imageItem.getY(), imageItem.getW(), imageItem.getH());
    canvas.setStrokeColor(imageItem.getRectangleStrokeColor()).setFillColor(imageItem.getRectangleFillColor()).rectangle(rect).fill().stroke();
    ImageData data = ImageDataFactory.create(imageItem.getImagePath());
    Image image = new Image(data);
    image.setFixedPosition(imageItem.getX(), imageItem.getY());
    image.scaleAbsolute(imageItem.getW(), imageItem.getH());
    new Canvas(canvas, rect).add(image);
}
Also used : ImageData(com.itextpdf.io.image.ImageData) 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) BufferedImage(java.awt.image.BufferedImage) Image(com.itextpdf.layout.element.Image)

Example 75 with Rectangle

use of com.itextpdf.kernel.geom.Rectangle in project pdf-editor by Pdf-Creator.

the class PDFDocument method addRectangleWithTextItem.

public void addRectangleWithTextItem(TextItem textItem) {
    // creating canvas on current page
    PdfCanvas canvas = new PdfCanvas(currentPage);
    // creating rectangle on canvas
    Rectangle rect = new Rectangle(textItem.getX(), textItem.getY(), textItem.getW(), textItem.getH());
    // drawing rectangle
    canvas.setStrokeColor(textItem.getRectangleStrokeColor()).setFillColor(textItem.getRectangleFillColor()).rectangle(rect).fill().stroke();
    // adding text to rectangle;
    Paragraph paragraph = new Paragraph(textItem.getText());
    paragraph.setFontColor(textItem.getFontColor());
    new Canvas(canvas, rect).add(paragraph);
}
Also used : 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) Paragraph(com.itextpdf.layout.element.Paragraph)

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