List of usage examples for com.lowagie.text.pdf PdfContentByte moveTo
public void moveTo(float x, float y)
From source file:questions.directcontent.Logo.java
public static void main(String[] args) { Rectangle rect = new Rectangle(36, 726, 136, 786); Document document = new Document(rect); try {/* w ww . j av a2s.com*/ PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); document.open(); PdfContentByte canvas = writer.getDirectContent(); canvas.moveTo(63.73f, 735.47f); canvas.curveTo(72.13f, 737.94f, 75.73f, 758.15f, 79.67f, 768.04f); canvas.curveTo(84.82f, 767.79f, 94.41f, 772.38f, 85.69f, 772.97f); canvas.curveTo(83.19f, 768.56f, 63.84f, 779.61f, 60.55f, 779.7f); canvas.curveTo(48.58f, 780.03f, 74.62f, 769.75f, 74.68f, 769.99f); canvas.curveTo(74.64f, 769.8f, 69.43f, 743.55f, 66.08f, 740.12f); canvas.curveTo(59.24f, 733.11f, 52.73f, 745.57f, 53.35f, 752.21f); canvas.curveTo(53.6f, 754.85f, 64.32f, 747.14f, 57.21f, 755.02f); canvas.curveTo(45.66f, 767.82f, 49.11f, 731.17f, 63.73f, 735.47f); canvas.moveTo(93.61f, 741.57f); canvas.curveTo(109.15f, 721.02f, 112.42f, 746.51f, 118.3f, 761.57f); canvas.curveTo(124.73f, 761.48f, 129.8f, 765.3f, 124f, 765.62f); canvas.curveTo(119.84f, 761.88f, 108.12f, 770.22f, 100.92f, 771.57f); canvas.curveTo(94.24f, 769.12f, 115.02f, 764.34f, 114.24f, 761.53f); canvas.curveTo(109.9f, 751.94f, 107.5f, 721.65f, 95.84f, 744.74f); canvas.curveTo(100.15f, 747.38f, 109.63f, 766.92f, 95.28f, 748.57f); canvas.curveTo(91.45f, 743.68f, 89.6f, 766.35f, 77.99f, 754.83f); canvas.curveTo(74.22f, 751.07f, 84.27f, 747.81f, 81.6f, 745.28f); canvas.curveTo(67.39f, 750.93f, 74.66f, 719.55f, 93.61f, 741.57f); canvas.moveTo(78.37f, 743.72f); canvas.curveTo(78.19f, 743.22f, 89.27f, 744.04f, 82.46f, 749.7f); canvas.curveTo(76.28f, 754.83f, 85.17f, 760.2f, 90.72f, 746.97f); canvas.curveTo(94f, 739.15f, 73.88f, 730.88f, 78.37f, 743.72f); canvas.setCMYKColorFillF(1, 0.5f, 0, 0.467f); canvas.fill(); canvas.setCMYKColorFillF(0, 0.467f, 1, 0); canvas.moveTo(58f, 764.8f); canvas.curveTo(58f, 767.01f, 56.21f, 768.8f, 54f, 768.8f); canvas.curveTo(51.79f, 768.8f, 50f, 767.01f, 50f, 764.8f); canvas.curveTo(50f, 762.59f, 51.79f, 760.8f, 54f, 760.8f); canvas.curveTo(56.21f, 760.8f, 58f, 762.59f, 58f, 764.8f); canvas.fill(); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } document.close(); }
From source file:questions.importpages.NameCard.java
public static void main(String[] args) { try {//from ww w . j a va 2 s. c om createOneCard(); Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); PdfReader reader = new PdfReader(CARD); document.open(); PdfContentByte canvas = writer.getDirectContent(); canvas.addTemplate(writer.getImportedPage(reader, 1), 36, 600); canvas.addTemplate(writer.getImportedPage(reader, 2), 200, 600); canvas.moveTo(0, 600); canvas.lineTo(595, 600); canvas.stroke(); document.close(); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
From source file:questions.importpages.NameCards.java
public static void createSheet(int p) throws DocumentException, IOException { Rectangle rect = new Rectangle(PageSize.A4); Document document = new Document(rect); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(SHEET[p - 1])); document.open();// ww w .j a va 2 s . co m PdfContentByte canvas = writer.getDirectContentUnder(); PdfReader reader = new PdfReader(NameCard.CARD); PdfImportedPage front = writer.getImportedPage(reader, p); float x = rect.getWidth() / 2 - front.getWidth(); float y = (rect.getHeight() - (front.getHeight() * 5)) / 2; canvas.setLineWidth(0.5f); canvas.moveTo(x, y - 15); canvas.lineTo(x, y); canvas.lineTo(x - 15, y); canvas.moveTo(x + front.getWidth(), y - 15); canvas.lineTo(x + front.getWidth(), y); canvas.moveTo(x + front.getWidth() * 2, y - 15); canvas.lineTo(x + front.getWidth() * 2, y); canvas.lineTo(x + front.getWidth() * 2 + 15, y); canvas.stroke(); for (int i = 0; i < 5; i++) { for (int j = 0; j < 2; j++) { canvas.addTemplate(front, x, y); x += front.getWidth(); } x = rect.getWidth() / 2 - front.getWidth(); y += front.getHeight(); canvas.moveTo(x, y); canvas.lineTo(x - 15, y); canvas.moveTo(x + front.getWidth() * 2, y); canvas.lineTo(x + front.getWidth() * 2 + 15, y); canvas.stroke(); } canvas.moveTo(x, y + 15); canvas.lineTo(x, y); canvas.moveTo(x + front.getWidth(), y + 15); canvas.lineTo(x + front.getWidth(), y); canvas.moveTo(x + front.getWidth() * 2, y + 15); canvas.lineTo(x + front.getWidth() * 2, y); canvas.stroke(); document.close(); }
From source file:questions.ocg.AddOptionalContentToExistingPdf.java
public static void main(String[] args) throws IOException, DocumentException { // creating an empty document Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT01)); writer.setPdfVersion(PdfWriter.VERSION_1_5); document.open();//from w w w . j a va 2 s . c o m writer.setPageEmpty(false); document.close(); PdfReader reader = new PdfReader(RESULT01); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT02)); PdfContentByte cb = stamper.getOverContent(1); writer = stamper.getWriter(); PdfLayer nested = new PdfLayer("Nested Layers", writer); PdfLayer nested_1 = new PdfLayer("Nested Layer 1", writer); PdfLayer nested_2 = new PdfLayer("Nested Layer 2", writer); PdfLayer layer21 = new PdfLayer("Layer 2", writer); PdfLayer layer22 = new PdfLayer("Layer 2", writer); nested_2.addChild(layer21); nested_2.addChild(layer22); nested.addChild(nested_1); nested.addChild(nested_2); cb.beginLayer(nested); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("nested layers"), 50, 775, 0); cb.endLayer(); cb.beginLayer(nested_1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("nested layer 1"), 100, 800, 0); cb.endLayer(); cb.beginLayer(nested_2); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("nested layer 2"), 100, 750, 0); cb.endLayer(); cb.beginLayer(layer21); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("layer 2.1 in the group"), 150, 775, 0); cb.endLayer(); cb.beginLayer(layer22); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("layer 2.2 in the group"), 150, 725, 0); cb.endLayer(); PdfLayer group = PdfLayer.createTitle("Grouped layers", writer); PdfLayer layer1 = new PdfLayer("Group: layer 1", writer); PdfLayer layer2 = new PdfLayer("Group: layer 2", writer); group.addChild(layer1); group.addChild(layer2); cb.beginLayer(layer1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("layer 1 in the group"), 50, 700, 0); cb.endLayer(); cb.beginLayer(layer2); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("layer 2 in the group"), 50, 675, 0); cb.endLayer(); PdfLayer radiogroup = PdfLayer.createTitle("Radio Group", writer); PdfLayer radio1 = new PdfLayer("Radiogroup: layer 1", writer); radio1.setOn(true); PdfLayer radio2 = new PdfLayer("Radiogroup: layer 2", writer); radio2.setOn(false); PdfLayer radio3 = new PdfLayer("Radiogroup: layer 3", writer); radio3.setOn(false); radiogroup.addChild(radio1); radiogroup.addChild(radio2); radiogroup.addChild(radio3); ArrayList<PdfLayer> options = new ArrayList<PdfLayer>(); options.add(radio1); options.add(radio2); options.add(radio3); writer.addOCGRadioGroup(options); cb.beginLayer(radio1); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("option 1"), 50, 600, 0); cb.endLayer(); cb.beginLayer(radio2); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("option 2"), 50, 575, 0); cb.endLayer(); cb.beginLayer(radio3); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("option 3"), 50, 550, 0); cb.endLayer(); PdfLayer not_printed = new PdfLayer("not printed", writer); not_printed.setOnPanel(false); not_printed.setPrint("Print", false); cb.beginLayer(not_printed); ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, new Phrase("PRINT THIS PAGE"), 300, 700, 90); cb.endLayer(); PdfLayer zoom = new PdfLayer("Zoom 0.75-1.25", writer); zoom.setOnPanel(false); zoom.setZoom(0.75f, 1.25f); cb.beginLayer(zoom); ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("Only visible if the zoomfactor is between 75 and 125%"), 30, 530, 90); cb.endLayer(); stamper.close(); reader = new PdfReader(RESULT02); stamper = new PdfStamper(reader, new FileOutputStream(RESULT03)); Map ocg = stamper.getPdfLayers(); for (Iterator i = ocg.keySet().iterator(); i.hasNext();) { System.out.println(i.next()); } PdfLayer layer = (PdfLayer) ocg.get("Layer 2"); layer.setOn(false); cb = stamper.getOverContent(1); cb.beginLayer(layer); cb.moveTo(0, 0); cb.lineTo(500, 500); cb.stroke(); cb.endLayer(); PdfLayer parent = (PdfLayer) ocg.get("Layer 2(2)"); PdfLayer newLayer = new PdfLayer("Child layer", stamper.getWriter()); newLayer.setOn(false); parent.addChild(newLayer); cb.beginLayer(newLayer); cb.moveTo(0, 500); cb.lineTo(500, 0); cb.stroke(); cb.endLayer(); stamper.close(); }
From source file:questions.separators.DottedGlue.java
public static void main(String[] args) { Document document = new Document(); try {/*w w w. ja v a 2s . c o m*/ PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); document.open(); PdfContentByte canvas = writer.getDirectContent(); canvas.moveTo(document.left(), document.top()); canvas.lineTo(document.left(), 550); canvas.moveTo(document.right(), document.top()); canvas.lineTo(document.right(), 550); canvas.stroke(); Chunk separator = new Chunk(new DottedLineSeparator()); // two parts Paragraph p1 = new Paragraph(); p1.add(new Chunk("Chapter 1")); p1.add(separator); p1.add(new Chunk("p 10")); // 3 parts Paragraph p2 = new Paragraph(); p2.add(new Chunk("Chapter 2")); p2.add(separator); p2.add(new Chunk("x")); p2.add(separator); p2.add(new Chunk("y")); // line ends with separator Paragraph p3 = new Paragraph(); p3.add(new Chunk("Chapter 3")); p3.add(separator); // line starts with a separator Paragraph p4 = new Paragraph(); p4.add(separator); p4.add(new Chunk("chapter 4")); // line IS a separator Paragraph p5 = new Paragraph(); p5.add(separator); // line IS a separator + leading Paragraph p6 = new Paragraph(40); p6.add(separator); // separator galore Paragraph p7 = new Paragraph(); p7.setAlignment(Element.ALIGN_JUSTIFIED); for (int i = 0; i < 10; i++) { p7.add(new Chunk("This is a test hippopotamus hippopotamus")); if (i % 4 == 0) p7.add(" hippopotamus hippopotamus hippopotamus hippopotamus"); p7.add(separator); } document.add(p1); document.add(p1); document.add(p2); document.add(p3); document.add(p4); document.add(p5); document.add(p6); document.add(p7); ColumnText ct = new ColumnText(writer.getDirectContent()); ct.addElement(p1); ct.addElement(p1); ct.addElement(p2); ct.addElement(p3); ct.addElement(p4); ct.addElement(p5); ct.addElement(p6); ct.addElement(p7); ct.setSimpleColumn(36, 36, 436, 536); ct.go(); canvas.rectangle(36, 36, 400, 500); canvas.stroke(); document.close(); } catch (Exception de) { de.printStackTrace(); } }
From source file:questions.separators.TabbedWords1.java
public static void main(String[] args) { Document document = new Document(); try {//from w ww. jav a 2 s. c o m PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); document.open(); Paragraph p; Chunk tab1 = new Chunk(new VerticalPositionMark(), 100); Chunk tab2 = new Chunk(new LineSeparator(), 120); Chunk tab3 = new Chunk(new DottedLineSeparator(), 200); Chunk tab4 = new Chunk(new VerticalPositionMark(), 250); Chunk tab5 = new Chunk(new VerticalPositionMark(), 300); PdfContentByte canvas = writer.getDirectContent(); ColumnText column = new ColumnText(canvas); for (int i = 0; i < 40; i++) { p = new Paragraph("TEST"); p.add(tab1); p.add(new Chunk(String.valueOf(i))); p.add(tab2); p.add(new Chunk(String.valueOf(i * 2))); p.add(tab3); p.add(new Chunk(SeparatedWords2.WORDS[39 - i])); p.add(tab4); p.add(new Chunk(String.valueOf(i * 4))); p.add(tab5); p.add(new Chunk(SeparatedWords2.WORDS[i])); column.addElement(p); } column.setSimpleColumn(60, 36, 400, 806); canvas.moveTo(60, 36); canvas.lineTo(60, 806); canvas.moveTo(160, 36); canvas.lineTo(160, 806); canvas.moveTo(180, 36); canvas.lineTo(180, 806); canvas.moveTo(260, 36); canvas.lineTo(260, 806); canvas.moveTo(310, 36); canvas.lineTo(310, 806); canvas.moveTo(360, 36); canvas.lineTo(360, 806); canvas.moveTo(400, 36); canvas.lineTo(400, 806); canvas.stroke(); column.go(); document.setMargins(60, 195, 36, 36); document.newPage(); for (int i = 0; i < 40; i++) { p = new Paragraph("TEST"); p.add(tab1); p.add(new Chunk(String.valueOf(i))); p.add(tab2); p.add(new Chunk(String.valueOf(i * 2))); p.add(tab3); p.add(new Chunk(SeparatedWords2.WORDS[39 - i])); p.add(tab4); p.add(new Chunk(String.valueOf(i * 4))); p.add(tab5); p.add(new Chunk(SeparatedWords2.WORDS[i])); document.add(p); } document.close(); } catch (Exception de) { de.printStackTrace(); } }
From source file:questions.separators.TabbedWords2.java
public static void main(String[] args) { Document document = new Document(); try {//from w w w.j av a 2 s .c om PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT)); document.open(); Paragraph p; Chunk tab1 = new Chunk(new VerticalPositionMark(), 100, true); Chunk tab2 = new Chunk(new LineSeparator(), 120, true); Chunk tab3 = new Chunk(new DottedLineSeparator(), 200, true); Chunk tab4 = new Chunk(new VerticalPositionMark(), 240, true); Chunk tab5 = new Chunk(new VerticalPositionMark(), 300, true); PdfContentByte canvas = writer.getDirectContent(); ColumnText column = new ColumnText(canvas); for (int i = 0; i < 40; i++) { p = new Paragraph("TEST"); p.add(tab1); p.add(new Chunk(String.valueOf(i))); p.add(tab2); p.add(new Chunk(String.valueOf(i * 2))); p.add(tab3); p.add(new Chunk(SeparatedWords2.WORDS[39 - i])); p.add(tab4); p.add(new Chunk(String.valueOf(i * 4))); p.add(tab5); p.add(new Chunk(SeparatedWords2.WORDS[i])); column.addElement(p); } column.setSimpleColumn(60, 36, 400, 806); canvas.moveTo(60, 36); canvas.lineTo(60, 806); canvas.moveTo(160, 36); canvas.lineTo(160, 806); canvas.moveTo(180, 36); canvas.lineTo(180, 806); canvas.moveTo(260, 36); canvas.lineTo(260, 806); canvas.moveTo(300, 36); canvas.lineTo(300, 806); canvas.moveTo(360, 36); canvas.lineTo(360, 806); canvas.moveTo(400, 36); canvas.lineTo(400, 806); canvas.stroke(); column.go(); document.setMargins(60, 195, 36, 36); document.newPage(); canvas.moveTo(document.left(), document.bottom()); canvas.lineTo(document.left(), document.top()); canvas.moveTo(document.right(), document.bottom()); canvas.lineTo(document.right(), document.top()); canvas.stroke(); for (int i = 0; i < 40; i++) { p = new Paragraph("TEST"); p.add(tab1); p.add(new Chunk(String.valueOf(i))); p.add(tab2); p.add(new Chunk(String.valueOf(i * 2))); p.add(tab3); p.add(new Chunk(SeparatedWords2.WORDS[39 - i])); p.add(tab4); p.add(new Chunk(String.valueOf(i * 4))); p.add(tab5); p.add(new Chunk(SeparatedWords2.WORDS[i])); document.add(p); } document.close(); } catch (Exception de) { de.printStackTrace(); } }
From source file:uk.ac.bbsrc.tgac.miso.core.data.decorator.itext.ITextProjectDecorator.java
License:Open Source License
public void buildReport() throws DocumentException { report = new Document(); PdfWriter writer = PdfWriter.getInstance(report, stream); report.open();//w ww . ja v a2 s.c o m report.add(new Paragraph("Project Summary")); PdfContentByte cb = writer.getDirectContent(); cb.setLineWidth(2.0f); // Make a bit thicker than 1.0 default cb.setGrayStroke(0.9f); // 1 = black, 0 = white float x = 72f; float y = 200f; cb.moveTo(x, y); cb.lineTo(x + 72f * 6, y); cb.stroke(); report.add(new Paragraph(project.getAlias())); report.add(new Paragraph(project.getDescription())); PdfPTable t = new PdfPTable(1); t.setHorizontalAlignment(Element.ALIGN_CENTER); t.setWidthPercentage(100f); // this would be the 100 from setHorizontalLine t.setSpacingAfter(5f); t.setSpacingBefore(0f); t.getDefaultCell().setUseVariableBorders(true); t.getDefaultCell().setVerticalAlignment(Element.ALIGN_MIDDLE); t.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); t.getDefaultCell().setBorder(Rectangle.BOTTOM); // This generates the line t.getDefaultCell().setBorderWidth(1f); // this would be the 1 from setHorizontalLine t.getDefaultCell().setPadding(0); t.addCell(""); report.add(t); x = 72f; y = 100f; cb.moveTo(x, y); cb.lineTo(x + 72f * 6, y); cb.stroke(); if (project.getSamples().size() > 0) { report.add(new Paragraph("Samples")); for (Sample sample : project.getSamples()) { Paragraph sPara = new Paragraph(sample.getAlias(), FontFactory.getFont("Helvetica", 12, Font.BOLD)); sPara.setIndentationLeft(20); report.add(sPara); report.add(new Paragraph(sample.getDescription())); } } report.close(); }