Java Code Examples for com.lowagie.text.PageSize#A4
The following examples show how to use
com.lowagie.text.PageSize#A4 .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: OptionalContentTest.java From itext2 with GNU Lesser General Public License v3.0 | 7 votes |
/** * Demonstrates the use of layers. * * @param args * no arguments needed */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(PageSize.A4, 50, 50, 50, 50); // step 2: creation of the writer PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("optionalcontent.pdf")); writer.setPdfVersion(PdfWriter.VERSION_1_5); writer.setViewerPreferences(PdfWriter.PageModeUseOC); // step 3: opening the document document.open(); // step 4: content PdfContentByte cb = writer.getDirectContent(); Phrase explanation = new Phrase( "Automatic layers, form fields, images, templates and actions", new Font(Font.HELVETICA, 18, Font.BOLD, Color.red)); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, explanation, 50, 650, 0); PdfLayer l1 = new PdfLayer("Layer 1", writer); PdfLayer l2 = new PdfLayer("Layer 2", writer); PdfLayer l3 = new PdfLayer("Layer 3", writer); PdfLayer l4 = new PdfLayer("Form and XObject Layer", writer); PdfLayerMembership m1 = new PdfLayerMembership(writer); m1.addMember(l2); m1.addMember(l3); Phrase p1 = new Phrase("Text in layer 1"); Phrase p2 = new Phrase("Text in layer 2 or layer 3"); Phrase p3 = new Phrase("Text in layer 3"); cb.beginLayer(l1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, p1, 50, 600, 0f); cb.endLayer(); cb.beginLayer(m1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, p2, 50, 550, 0); cb.endLayer(); cb.beginLayer(l3); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, p3, 50, 500, 0); cb.endLayer(); TextField ff = new TextField(writer, new Rectangle(200, 600, 300, 620), "field1"); ff.setBorderColor(Color.blue); ff.setBorderStyle(PdfBorderDictionary.STYLE_SOLID); ff.setBorderWidth(TextField.BORDER_WIDTH_THIN); ff.setText("I'm a form field"); PdfFormField form = ff.getTextField(); form.setLayer(l4); writer.addAnnotation(form); Image img = Image.getInstance(PdfTestBase.RESOURCES_DIR + "pngnow.png"); img.setLayer(l4); img.setAbsolutePosition(200, 550); cb.addImage(img); PdfTemplate tp = cb.createTemplate(100, 20); Phrase pt = new Phrase("I'm a template", new Font(Font.HELVETICA, 12, Font.NORMAL, Color.magenta)); ColumnText.showTextAligned(tp, Element.ALIGN_LEFT, pt, 0, 0, 0); tp.setLayer(l4); tp.setBoundingBox(new Rectangle(0, -10, 100, 20)); cb.addTemplate(tp, 200, 500); ArrayList<Object> state = new ArrayList<Object>(); state.add("toggle"); state.add(l1); state.add(l2); state.add(l3); state.add(l4); PdfAction action = PdfAction.setOCGstate(state, true); Chunk ck = new Chunk("Click here to toggle the layers", new Font( Font.HELVETICA, 18, Font.NORMAL, Color.yellow)).setBackground( Color.blue).setAction(action); ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, new Phrase(ck), 250, 400, 0); cb.sanityCheck(); // step 5: closing the document document.close(); }
Example 2
Source File: FixedFontWidthTest.java From itext2 with GNU Lesser General Public License v3.0 | 6 votes |
/** * Changing the width of font glyphs. * * @param args * no arguments needed */ @Test public void main() throws Exception { // step 1 Document document = new Document(PageSize.A4, 50, 50, 50, 50); // step 2 PdfWriter.getInstance(document, PdfTestBase.getOutputStream("fixedfontwidth.pdf")); // step 3 document.open(); // step 4 BaseFont bf = BaseFont.createFont("Helvetica", "winansi", false, false, null, null); int widths[] = bf.getWidths(); for (int k = 0; k < widths.length; ++k) { if (widths[k] != 0) widths[k] = 1000; } bf.setForceWidthsOutput(true); document.add(new Paragraph("A big text to show Helvetica with fixed width.", new Font(bf))); // step 5 document.close(); }
Example 3
Source File: OpenApplicationTest.java From itext2 with GNU Lesser General Public License v3.0 | 6 votes |
/** * Creates a document with Named Actions. * * @param args The file to open */ public void main(String... args) throws Exception { // step 1: creation of a document-object Document document = new Document(PageSize.A4, 50, 50, 50, 50); // step 2: we create a writer that listens to the document PdfWriter.getInstance(document, PdfTestBase.getOutputStream("OpenApplication.pdf")); // step 3: we open the document document.open(); // step 4: we add some content String application = args[0]; Paragraph p = new Paragraph(new Chunk("Click to open " + application).setAction( new PdfAction(application, null, null, null))); document.add(p); // step 5: we close the document document.close(); }
Example 4
Source File: AnnotatedImageTest.java From itext2 with GNU Lesser General Public License v3.0 | 6 votes |
/** * Adds some annotated images to a PDF file. */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(PageSize.A4, 50, 50, 50, 50); // step 2: // we create a writer that listens to the document PdfWriter.getInstance(document, PdfTestBase.getOutputStream("annotated_images.pdf")); // step 3: we open the document document.open(); // step 4: we add some content Image jpeg = Image.getInstance(PdfTestBase.RESOURCES_DIR + "otsoe.jpg"); jpeg.setAnnotation(new Annotation("picture", "This is my dog", 0, 0, 0, 0)); jpeg.setAbsolutePosition(100f, 550f); document.add(jpeg); Image wmf = Image.getInstance(PdfTestBase.RESOURCES_DIR + "iText.wmf"); wmf.setAnnotation(new Annotation(0, 0, 0, 0, "http://www.lowagie.com/iText")); wmf.setAbsolutePosition(100f, 200f); document.add(wmf); // step 5: we close the document document.close(); }
Example 5
Source File: SpaceWordRatioTest.java From itext2 with GNU Lesser General Public License v3.0 | 6 votes |
/** * Space Word Ratio. */ @Test public void main() throws Exception { // step 1 Document document = new Document(PageSize.A4, 50, 350, 50, 50); // step 2 PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("spacewordratio.pdf")); // step 3 document.open(); // step 4 String text = "Flanders International Filmfestival Ghent - Internationaal Filmfestival van Vlaanderen Gent"; Paragraph p = new Paragraph(text); p.setAlignment(Element.ALIGN_JUSTIFIED); document.add(p); document.newPage(); writer.setSpaceCharRatio(PdfWriter.NO_SPACE_CHAR_RATIO); document.add(p); // step 5 document.close(); }
Example 6
Source File: FormSignatureTest.java From itext2 with GNU Lesser General Public License v3.0 | 6 votes |
/** * Generates an Acroform with a Signature */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(PageSize.A4); // step 2: PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("signature.pdf")); // step 3: we open the document document.open(); // step 4: PdfAcroForm acroForm = writer.getAcroForm(); document.add(new Paragraph("Hello World")); acroForm.addSignature("mysig", 73, 705, 149, 759); // step 5: we close the document document.close(); }
Example 7
Source File: PdfInstructionalOfferingTableBuilder.java From unitime with Apache License 2.0 | 6 votes |
public void pdfTableForInstructionalOfferings( OutputStream out, ClassAssignmentProxy classAssignment, ExamAssignmentProxy examAssignment, InstructionalOfferingListForm form, String[] subjectAreaIds, SessionContext context, boolean displayHeader, boolean allCoursesAreGiven) throws Exception{ setVisibleColumns(form); iDocument = new Document(PageSize.A4, 30f, 30f, 30f, 30f); iWriter = PdfEventHandler.initFooter(iDocument, out); for (String subjectAreaId: subjectAreaIds) { pdfTableForInstructionalOfferings(out, classAssignment, examAssignment, form.getInstructionalOfferings(Long.valueOf(subjectAreaId)), Long.valueOf(subjectAreaId), context, displayHeader, allCoursesAreGiven, new ClassCourseComparator(form.getSortBy(), classAssignment, false)); } iDocument.close(); }
Example 8
Source File: EndPageTest.java From itext2 with GNU Lesser General Public License v3.0 | 6 votes |
/** * Demonstrates the use of PageEvents. */ @Test public void main() throws Exception { Document document = new Document(PageSize.A4, 50, 50, 70, 70); PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("endpage.pdf")); writer.setPageEvent(new EndPageTest()); document.open(); String text = "Lots of text. "; for (int k = 0; k < 10; ++k) text += text; document.add(new Paragraph(text)); document.close(); }
Example 9
Source File: OpenTypeFontTest.java From itext2 with GNU Lesser General Public License v3.0 | 6 votes |
/** * Using oth */ @Test public void main() throws Exception { // step 1 Document document = new Document(PageSize.A4, 50, 50, 50, 50); // step 2 PdfWriter.getInstance(document, PdfTestBase.getOutputStream("opentypefont.pdf")); // step 3 document.open(); // step 4 BaseFont bf = BaseFont.createFont(PdfTestBase.RESOURCES_DIR + "liz.otf", BaseFont.CP1252, true); String text = "Some text with the otf font LIZ."; document.add(new Paragraph(text, new Font(bf, 14))); // step 5 document.close(); }
Example 10
Source File: PdfInstructionalOfferingTableBuilder.java From unitime with Apache License 2.0 | 5 votes |
public void pdfTableForInstructionalOffering( OutputStream out, ClassAssignmentProxy classAssignment, ExamAssignmentProxy examAssignment, Long instructionalOfferingId, SessionContext context, Comparator classComparator) throws Exception{ if (instructionalOfferingId != null && context != null){ InstructionalOfferingDAO idao = new InstructionalOfferingDAO(); InstructionalOffering io = idao.get(instructionalOfferingId); Long subjectAreaId = io.getControllingCourseOffering().getSubjectArea().getUniqueId(); // Get Configuration TreeSet ts = new TreeSet(); ts.add(io); WebInstructionalOfferingTableBuilder iotbl = new WebInstructionalOfferingTableBuilder(); iotbl.setDisplayDistributionPrefs(false); setVisibleColumns(COLUMNS); iDocument = new Document(PageSize.A4, 30f, 30f, 30f, 30f); iWriter = PdfEventHandler.initFooter(iDocument, out); pdfTableForInstructionalOfferings(out, classAssignment, examAssignment, ts, subjectAreaId, context, false, false, classComparator); iDocument.close(); } }
Example 11
Source File: SoftMaskTest.java From itext2 with GNU Lesser General Public License v3.0 | 5 votes |
/** * Demonstrates the Transparency functionality. */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(PageSize.A4, 50, 50, 50, 50); // step 2: creation of a writer PdfWriter writer = PdfWriter.getInstance(document,PdfTestBase.getOutputStream("softmask.pdf")); // step 3: we open the document document.open(); // step 4: content PdfContentByte cb = writer.getDirectContent(); String text = "text "; text += text; text += text; text += text; text += text; text += text; text += text; text += text; text += text; document.add(new Paragraph(text)); Image img = Image.getInstance(PdfTestBase.RESOURCES_DIR + "otsoe.jpg"); img.setAbsolutePosition(100, 550); byte gradient[] = new byte[256]; for (int k = 0; k < 256; ++k) { gradient[k] = (byte) k; } Image smask = Image.getInstance(256, 1, 1, 8, gradient); smask.makeMask(); img.setImageMask(smask); cb.addImage(img); cb.sanityCheck(); // step 5: we close the document document.close(); }
Example 12
Source File: ContentGroupsTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Demonstrates how to group optional content. */ @Test public void main() throws Exception { // step 1 Document document = new Document(PageSize.A4, 50, 50, 50, 50); // step 2 PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream( "contentgroups.pdf")); writer.setPdfVersion(PdfWriter.VERSION_1_5); writer.setViewerPreferences(PdfWriter.PageModeUseOC); // step 3 document.open(); // step 4 PdfContentByte cb = writer.getDirectContent(); Phrase explanation = new Phrase("Layer grouping", new Font(Font.HELVETICA, 20, Font.BOLD, Color.red)); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, explanation, 50, 650, 0); PdfLayer l1 = new PdfLayer("Layer 1", writer); PdfLayer l2 = new PdfLayer("Layer 2", writer); PdfLayer l3 = new PdfLayer("Layer 3", writer); PdfLayerMembership m1 = new PdfLayerMembership(writer); m1.addMember(l2); m1.addMember(l3); Phrase p1 = new Phrase("Text in layer 1"); Phrase p2 = new Phrase("Text in layer 2 or layer 3"); Phrase p3 = new Phrase("Text in layer 3"); cb.beginLayer(l1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, p1, 50, 600, 0); cb.endLayer(); cb.beginLayer(m1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, p2, 50, 550, 0); cb.endLayer(); cb.beginLayer(l3); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, p3, 50, 500, 0); cb.endLayer(); cb.sanityCheck(); PdfOCProperties p = writer.getOCProperties(); PdfArray order = new PdfArray(); order.add(l1.getRef()); PdfArray group = new PdfArray(); group.add(new PdfString("A group of two", PdfObject.TEXT_UNICODE)); group.add(l2.getRef()); group.add(l3.getRef()); order.add(group); PdfDictionary d = new PdfDictionary(); d.put(PdfName.ORDER, order); p.put(PdfName.D, d); // step 5 document.close(); }
Example 13
Source File: ImageMasksTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Applying masks to images. */ @Test public void main() throws Exception { Document document = new Document(PageSize.A4, 50, 50, 50, 50); try { PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream( "maskedImages.pdf")); document.open(); Paragraph p = new Paragraph("Some text behind a masked image."); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); document.add(p); PdfContentByte cb = writer.getDirectContent(); byte maskr[] = {(byte)0x3c, (byte)0x7e, (byte)0xe7, (byte)0xc3, (byte)0xc3, (byte)0xe7, (byte)0x7e, (byte)0x3c}; Image mask = Image.getInstance(8, 8, 1, 1, maskr); mask.makeMask(); mask.setInverted(true); Image image = Image.getInstance(PdfTestBase.RESOURCES_DIR +"otsoe.jpg"); image.setImageMask(mask); image.setAbsolutePosition(60, 550); // explicit masking cb.addImage(image); // stencil masking cb.setRGBColorFill(255, 0, 0); cb.addImage(mask, mask.getScaledWidth() * 8, 0, 0, mask.getScaledHeight() * 8, 100, 450); cb.setRGBColorFill(0, 255, 0); cb.addImage(mask, mask.getScaledWidth() * 8, 0, 0, mask.getScaledHeight() * 8, 100, 400); cb.setRGBColorFill(0, 0, 255); cb.addImage(mask, mask.getScaledWidth() * 8, 0, 0, mask.getScaledHeight() * 8, 100, 350); document.close(); } catch (Exception de) { de.printStackTrace(); } }
Example 14
Source File: AutomaticTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Automatic grouping and nesting. */ @Test public void main() throws Exception { // step 1 Document document = new Document(PageSize.A4, 50, 50, 50, 50); // step 2 PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("automatic.pdf")); writer.setPdfVersion(PdfWriter.VERSION_1_5); writer.setViewerPreferences(PdfWriter.PageModeUseOC); // step 3 document.open(); // step 4 PdfContentByte cb = writer.getDirectContent(); Phrase explanation = new Phrase("Automatic layer grouping and nesting", new Font(Font.HELVETICA, 20, Font.BOLD, Color.red)); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, explanation, 50, 650, 0); PdfLayer l12 = new PdfLayer("Layer nesting", writer); PdfLayer l1 = new PdfLayer("Layer 1", writer); PdfLayer l2 = new PdfLayer("Layer 2", writer); PdfLayer title = PdfLayer.createTitle("Layer grouping", writer); PdfLayer l3 = new PdfLayer("Layer 3", writer); PdfLayer l4 = new PdfLayer("Layer 4", writer); l12.addChild(l1); l12.addChild(l2); title.addChild(l3); title.addChild(l4); Phrase p1 = new Phrase("Text in layer 1"); Phrase p2 = new Phrase("Text in layer 2"); Phrase p3 = new Phrase("Text in layer 3"); Phrase p4 = new Phrase("Text in layer 4"); cb.beginLayer(l1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, p1, 50, 600, 0); cb.endLayer(); cb.beginLayer(l2); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, p2, 50, 550, 0); cb.endLayer(); cb.beginLayer(l3); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, p3, 50, 500, 0); cb.endLayer(); cb.beginLayer(l4); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, p4, 50, 450, 0); cb.endLayer(); cb.sanityCheck(); // step 5 document.close(); }
Example 15
Source File: UpsideDownTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Changes the default coordinate system so that the origin is in the upper left corner * instead of the lower left corner. */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(PageSize.A4); try { // step 2: creation of the writer PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream( "upsidedown.pdf")); // step 3: we open the document document.open(); // step 4: PdfContentByte cb = writer.getDirectContent(); cb.concatCTM(1f, 0f, 0f, -1f, 0f, PageSize.A4.getHeight()); // we create a PdfTemplate PdfTemplate template = cb.createTemplate(25, 25); // we add some crosses to visualize the coordinates template.moveTo(13, 0); template.lineTo(13, 25); template.moveTo(0, 13); template.lineTo(50, 13); template.stroke(); template.sanityCheck(); // we add the template on different positions cb.addTemplate(template, 216 - 13, 720 - 13); cb.addTemplate(template, 360 - 13, 360 - 13); cb.addTemplate(template, 360 - 13, 504 - 13); cb.addTemplate(template, 72 - 13, 144 - 13); cb.addTemplate(template, 144 - 13, 288 - 13); cb.moveTo(216, 720); cb.lineTo(360, 360); cb.lineTo(360, 504); cb.lineTo(72, 144); cb.lineTo(144, 288); cb.stroke(); BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); cb.beginText(); cb.setFontAndSize(bf, 12); cb.showTextAligned(PdfContentByte.ALIGN_CENTER, "(3\", 10\")", 216 + 25, 720 + 5, 0); cb.showTextAligned(PdfContentByte.ALIGN_CENTER, "(5\", 5\")", 360 + 25, 360 + 5, 0); cb.showTextAligned(PdfContentByte.ALIGN_CENTER, "(5\", 7\")", 360 + 25, 504 + 5, 0); cb.showTextAligned(PdfContentByte.ALIGN_CENTER, "(1\", 2\")", 72 + 25, 144 + 5, 0); cb.showTextAligned(PdfContentByte.ALIGN_CENTER, "(2\", 4\")", 144 + 25, 288 + 5, 0); cb.endText(); cb.sanityCheck(); } catch(DocumentException de) { System.err.println(de.getMessage()); } catch(IOException ioe) { System.err.println(ioe.getMessage()); } // step 5: we close the document document.close(); }
Example 16
Source File: TransformationsTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Adding a template using different transformation matrices. */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(PageSize.A4); // step 2: creation of the writer PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("transformations.pdf")); // step 3: we open the document document.open(); // step 4: PdfContentByte cb = writer.getDirectContent(); // we create a PdfTemplate PdfTemplate template = cb.createTemplate(120, 120); // we add some graphics template.moveTo(30, 10); template.lineTo(90, 10); template.lineTo(90, 80); template.lineTo(110, 80); template.lineTo(60, 110); template.lineTo(10, 80); template.lineTo(30, 80); template.closePath(); template.stroke(); template.sanityCheck(); // we add the template on different positions cb.addTemplate(template, 0, 0); cb.addTemplate(template, 0, 1, -1, 0, 200, 600); cb.addTemplate(template, .5f, 0, 0, .5f, 100, 400); cb.sanityCheck(); // we go to a new page document.newPage(); cb.addTemplate(template, 0, 500); cb.addTemplate(template, 2, 0, -1, 2, 200, 300); cb.sanityCheck(); // step 5: we close the document document.close(); }
Example 17
Source File: TemplateImagesTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * PdfTemplates can be wrapped in an Image. */ @Test public void main() throws Exception { // step 1: creation of a document-object Rectangle rect = new Rectangle(PageSize.A4); rect.setBackgroundColor(new Color(238, 221, 88)); Document document = new Document(rect, 50, 50, 50, 50); // step 2: we create a writer that listens to the document PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("templateImages.pdf")); // step 3: we open the document document.open(); // step 4: PdfTemplate template = writer.getDirectContent().createTemplate(20, 20); BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED); String text = "Vertical"; float size = 16; float width = bf.getWidthPoint(text, size); template.beginText(); template.setRGBColorFillF(1, 1, 1); template.setFontAndSize(bf, size); template.setTextMatrix(0, 2); template.showText(text); template.endText(); template.setWidth(width); template.setHeight(size + 2); template.sanityCheck(); Image img = Image.getInstance(template); img.setRotationDegrees(90); Chunk ck = new Chunk(img, 0, 0); PdfPTable table = new PdfPTable(3); table.setWidthPercentage(100); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); table.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE); PdfPCell cell = new PdfPCell(img); cell.setPadding(4); cell.setBackgroundColor(new Color(0, 0, 255)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell("I see a template on my right"); table.addCell(cell); table.addCell("I see a template on my left"); table.addCell(cell); table.addCell("I see a template everywhere"); table.addCell(cell); table.addCell("I see a template on my right"); table.addCell(cell); table.addCell("I see a template on my left"); Paragraph p1 = new Paragraph("This is a template "); p1.add(ck); p1.add(" just here."); p1.setLeading(img.getScaledHeight() * 1.1f); document.add(p1); document.add(table); Paragraph p2 = new Paragraph("More templates "); p2.setLeading(img.getScaledHeight() * 1.1f); p2.setAlignment(Element.ALIGN_JUSTIFIED); img.scalePercent(70); for (int k = 0; k < 20; ++k) p2.add(ck); document.add(p2); // step 5: we close the document document.close(); }
Example 18
Source File: ExportHighCharts.java From Knowage-Server with GNU Affero General Public License v3.0 | 4 votes |
public static void transformSVGIntoPDF(InputStream inputStream, OutputStream outputStream) throws IOException, DocumentException { Rectangle pageSize = PageSize.A4; Document document = new Document(pageSize); int orientation = PageFormat.PORTRAIT; try { PdfWriter writer = PdfWriter.getInstance(document, outputStream); document.open(); double a4WidthInch = 8.26771654; // Equals 210mm double a4HeightInch = 11.6929134; // Equals 297mm Paper paper = new Paper(); // 72 DPI paper.setSize((a4WidthInch * 72), (a4HeightInch * 72)); // 1 inch margins paper.setImageableArea(72, 72, (a4WidthInch * 72 - 144), (a4HeightInch * 72 - 144)); PageFormat pageFormat = new PageFormat(); pageFormat.setPaper(paper); pageFormat.setOrientation(orientation); float width = ((float) pageFormat.getWidth()); float height = ((float) pageFormat.getHeight()); PdfContentByte cb = writer.getDirectContent(); PdfTemplate template = cb.createTemplate(width, height); Graphics2D g2 = template.createGraphics(width, height); PrintTranscoder prm = new PrintTranscoder(); TranscoderInput ti = new TranscoderInput(inputStream); prm.transcode(ti, null); prm.print(g2, pageFormat, 0); g2.dispose(); ImgTemplate img = new ImgTemplate(template); img.setWidthPercentage(100); img.setAlignment(Image.ALIGN_CENTER); document.add(img); } catch (DocumentException e) { logger.error("Error exporting Highcharts to PDF: " + e); } document.close(); }
Example 19
Source File: GroupsTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Demonstrates the Transparency functionality. */ @Test public void main() { // step 1: creation of a document-object Document document = new Document(PageSize.A4, 50, 50, 50, 50); try { // step 2: creation of a writer PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("groups.pdf")); // step 3: we open the document document.open(); // step 4: content PdfContentByte cb = writer.getDirectContent(); float gap = (document.getPageSize().getWidth() - 400) / 3; pictureBackdrop(gap, 500, cb); pictureBackdrop(200 + 2 * gap, 500, cb); pictureBackdrop(gap, 500 - 200 - gap, cb); pictureBackdrop(200 + 2 * gap, 500 - 200 - gap, cb); PdfTemplate tp; PdfTransparencyGroup group; tp = cb.createTemplate(200, 200); pictureCircles(0, 0, tp); group = new PdfTransparencyGroup(); group.setIsolated(true); group.setKnockout(true); tp.setGroup(group); tp.sanityCheck(); cb.addTemplate(tp, gap, 500); tp = cb.createTemplate(200, 200); pictureCircles(0, 0, tp); group = new PdfTransparencyGroup(); group.setIsolated(true); group.setKnockout(false); tp.setGroup(group); tp.sanityCheck(); cb.addTemplate(tp, 200 + 2 * gap, 500); tp = cb.createTemplate(200, 200); pictureCircles(0, 0, tp); group = new PdfTransparencyGroup(); group.setIsolated(false); group.setKnockout(true); tp.setGroup(group); tp.sanityCheck(); cb.addTemplate(tp, gap, 500 - 200 - gap); tp = cb.createTemplate(200, 200); pictureCircles(0, 0, tp); group = new PdfTransparencyGroup(); group.setIsolated(false); group.setKnockout(false); tp.setGroup(group); tp.sanityCheck(); cb.addTemplate(tp, 200 + 2 * gap, 500 - 200 - gap); cb.sanityCheck(); } catch (Exception de) { de.printStackTrace(); } // step 5: we close the document document.close(); }
Example 20
Source File: PatternTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Painting Patterns. * * @param args * no arguments needed */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(PageSize.A4, 50, 50, 50, 50); // step 2: // we create a writer that listens to the document // and directs a PDF-stream to a file PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("pattern.pdf")); // step 3: we open the document document.open(); // step 4: we add some content PdfContentByte cb = writer.getDirectContent(); PdfTemplate tp = cb.createTemplate(400, 300); PdfPatternPainter pat = cb.createPattern(15, 15, null); pat.rectangle(5, 5, 5, 5); pat.fill(); pat.sanityCheck(); PdfSpotColor spc_cmyk = new PdfSpotColor("PANTONE 280 CV", new CMYKColor(0.9f, .2f, .3f, .1f)); SpotColor spot = new SpotColor(spc_cmyk, 0.25f); tp.setPatternFill(pat, spot, .9f); tp.rectangle(0, 0, 400, 300); tp.fill(); tp.sanityCheck(); cb.addTemplate(tp, 50, 50); PdfPatternPainter pat2 = cb.createPattern(10, 10, null); pat2.setLineWidth(2); pat2.moveTo(-5, 0); pat2.lineTo(10, 15); pat2.stroke(); pat2.moveTo(0, -5); pat2.lineTo(15, 10); pat2.stroke(); cb.setLineWidth(1); cb.setColorStroke(Color.black); cb.setPatternFill(pat2, Color.red); cb.rectangle(100, 400, 30, 210); cb.fillStroke(); cb.setPatternFill(pat2, Color.green); cb.rectangle(150, 400, 30, 100); cb.fillStroke(); cb.setPatternFill(pat2, Color.blue); cb.rectangle(200, 400, 30, 130); cb.fillStroke(); cb.setPatternFill(pat2, new GrayColor(0.5f)); cb.rectangle(250, 400, 30, 80); cb.fillStroke(); cb.setPatternFill(pat2, new GrayColor(0.7f)); cb.rectangle(300, 400, 30, 170); cb.fillStroke(); cb.setPatternFill(pat2, new GrayColor(0.9f)); cb.rectangle(350, 400, 30, 40); cb.fillStroke(); cb.sanityCheck(); // step 5: we close the document document.close(); }