Java Code Examples for com.lowagie.text.Image#setAbsolutePosition()
The following examples show how to use
com.lowagie.text.Image#setAbsolutePosition() .
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: 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 3
Source File: AbsolutePositionsTest.java From itext2 with GNU Lesser General Public License v3.0 | 6 votes |
/** * Adds an Image at an absolute position. */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(); // step 2: // we create a writer that listens to the document // and directs a PDF-stream to a file PdfWriter.getInstance(document, PdfTestBase.getOutputStream("absolutepositions.pdf")); // step 3: we open the document document.open(); // step 4: we add content Image png = Image.getInstance(PdfTestBase.RESOURCES_DIR + "hitchcock.png"); png.setAbsolutePosition(171, 250); document.add(png); png.setAbsolutePosition(342, 500); document.add(png); // step 5: we close the document document.close(); }
Example 4
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 5
Source File: AwtImageTest.java From itext2 with GNU Lesser General Public License v3.0 | 5 votes |
/** * Uses a java.awt.Image object to construct a com.lowagie.text.Image * object. */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(); // 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("awt_image.pdf")); // step 3: we open the document document.open(); // step 4: we add content to the document for (int i = 0; i < 300; i++) { document.add(new Phrase("Who is this? ")); } PdfContentByte cb = writer.getDirectContent(); java.awt.Image awtImage = Toolkit.getDefaultToolkit().createImage(PdfTestBase.RESOURCES_DIR + "H.gif"); Image image = Image.getInstance(awtImage, null); image.setAbsolutePosition(100, 500); cb.addImage(image); Image gif = Image.getInstance(awtImage, new Color(0x00, 0xFF, 0xFF), true); gif.setAbsolutePosition(300, 500); cb.addImage(gif); Image img1 = Image.getInstance(awtImage, null, true); img1.setAbsolutePosition(100, 200); cb.addImage(img1); Image img2 = Image.getInstance(awtImage, new Color(0xFF, 0xFF, 0x00), false); img2.setAbsolutePosition(300, 200); cb.addImage(img2); // step 5: we close the document document.close(); }
Example 6
Source File: OddEvenTest.java From itext2 with GNU Lesser General Public License v3.0 | 5 votes |
/** * Combines 2 tiff-files into 1 PDF (similar to tiffmesh). * * @param args * [0] the file with the odd pages [1] the file with the even * pages [2] the resulting file */ public void main(String... args) throws Exception { if (args.length < 3) { System.err.println("OddEven needs 3 Arguments."); System.out .println("Usage: com.lowagie.examples.objects.images.tiff.OddEven odd_file.tif even_file.tif combined_file.pdf"); return; } RandomAccessFileOrArray odd = new RandomAccessFileOrArray(args[0]); RandomAccessFileOrArray even = new RandomAccessFileOrArray(args[1]); Image img = TiffImage.getTiffImage(odd, 1); Document document = new Document(new Rectangle(img.getScaledWidth(), img.getScaledHeight())); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(args[2])); document.open(); PdfContentByte cb = writer.getDirectContent(); int count = Math.max(TiffImage.getNumberOfPages(odd), TiffImage.getNumberOfPages(even)); for (int c = 0; c < count; ++c) { Image imgOdd = TiffImage.getTiffImage(odd, c + 1); Image imgEven = TiffImage.getTiffImage(even, count - c); document.setPageSize(new Rectangle(imgOdd.getScaledWidth(), imgOdd.getScaledHeight())); document.newPage(); imgOdd.setAbsolutePosition(0, 0); cb.addImage(imgOdd); document.setPageSize(new Rectangle(imgEven.getScaledWidth(), imgEven.getScaledHeight())); document.newPage(); imgEven.setAbsolutePosition(0, 0); cb.addImage(imgEven); } odd.close(); even.close(); document.close(); }
Example 7
Source File: ElementFactory.java From gcs with Mozilla Public License 2.0 | 4 votes |
/** * Creates an Image object based on a list of properties. * * @param attributes * @return an Image */ public static Image getImage(Properties attributes) throws BadElementException, MalformedURLException, IOException { String value; value = attributes.getProperty(ElementTags.URL); if (value == null) { throw new MalformedURLException("The URL of the image is missing."); } Image image = Image.getInstance(value); value = attributes.getProperty(ElementTags.ALIGN); int align = 0; if (value != null) { if (ElementTags.ALIGN_LEFT.equalsIgnoreCase(value)) { align |= Image.LEFT; } else if (ElementTags.ALIGN_RIGHT.equalsIgnoreCase(value)) { align |= Image.RIGHT; } else if (ElementTags.ALIGN_MIDDLE.equalsIgnoreCase(value)) { align |= Image.MIDDLE; } } if ("true".equalsIgnoreCase(attributes.getProperty(ElementTags.UNDERLYING))) { align |= Image.UNDERLYING; } if ("true".equalsIgnoreCase(attributes.getProperty(ElementTags.TEXTWRAP))) { align |= Image.TEXTWRAP; } image.setAlignment(align); value = attributes.getProperty(ElementTags.ALT); if (value != null) { image.setAlt(value); } String x = attributes.getProperty(ElementTags.ABSOLUTEX); String y = attributes.getProperty(ElementTags.ABSOLUTEY); if (x != null && y != null) { image.setAbsolutePosition(Float.parseFloat(x + "f"), Float.parseFloat(y + "f")); } value = attributes.getProperty(ElementTags.PLAINWIDTH); if (value != null) { image.scaleAbsoluteWidth(Float.parseFloat(value + "f")); } value = attributes.getProperty(ElementTags.PLAINHEIGHT); if (value != null) { image.scaleAbsoluteHeight(Float.parseFloat(value + "f")); } value = attributes.getProperty(ElementTags.ROTATION); if (value != null) { image.setRotation(Float.parseFloat(value + "f")); } return image; }
Example 8
Source File: ElementFactory.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Creates an Image object based on a list of properties. * @param attributes * @return an Image */ public static Image getImage(Properties attributes) throws BadElementException, MalformedURLException, IOException { String value; value = attributes.getProperty(ElementTags.URL); if (value == null) throw new MalformedURLException("The URL of the image is missing."); Image image = Image.getInstance(value); value = attributes.getProperty(ElementTags.ALIGN); int align = 0; if (value != null) { if (ElementTags.ALIGN_LEFT.equalsIgnoreCase(value)) align |= Image.LEFT; else if (ElementTags.ALIGN_RIGHT.equalsIgnoreCase(value)) align |= Image.RIGHT; else if (ElementTags.ALIGN_MIDDLE.equalsIgnoreCase(value)) align |= Image.MIDDLE; } if ("true".equalsIgnoreCase(attributes .getProperty(ElementTags.UNDERLYING))) align |= Image.UNDERLYING; if ("true".equalsIgnoreCase(attributes .getProperty(ElementTags.TEXTWRAP))) align |= Image.TEXTWRAP; image.setAlignment(align); value = attributes.getProperty(ElementTags.ALT); if (value != null) { image.setAlt(value); } String x = attributes.getProperty(ElementTags.ABSOLUTEX); String y = attributes.getProperty(ElementTags.ABSOLUTEY); if ((x != null) && (y != null)) { image.setAbsolutePosition(Float.parseFloat(x + "f"), Float .parseFloat(y + "f")); } value = attributes.getProperty(ElementTags.PLAINWIDTH); if (value != null) { image.scaleAbsoluteWidth(Float.parseFloat(value + "f")); } value = attributes.getProperty(ElementTags.PLAINHEIGHT); if (value != null) { image.scaleAbsoluteHeight(Float.parseFloat(value + "f")); } value = attributes.getProperty(ElementTags.ROTATION); if (value != null) { image.setRotation(Float.parseFloat(value + "f")); } return image; }
Example 9
Source File: AddWatermarkPageNumbersTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Reads the pages of an existing PDF file, adds pagenumbers and a watermark. */ @Test public void main() throws Exception { // we create a reader for a certain document PdfReader reader = new PdfReader(PdfTestBase.RESOURCES_DIR +"ChapterSection.pdf"); int n = reader.getNumberOfPages(); // we create a stamper that will copy the document to a new file PdfStamper stamp = new PdfStamper(reader,PdfTestBase.getOutputStream("watermark_pagenumbers.pdf")); // adding some metadata HashMap<String, String> moreInfo = new HashMap<String, String>(); moreInfo.put("Author", "Bruno Lowagie"); stamp.setMoreInfo(moreInfo); // adding content to each page int i = 0; PdfContentByte under; PdfContentByte over; Image img = Image.getInstance(PdfTestBase.RESOURCES_DIR +"watermark.jpg"); BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED); img.setAbsolutePosition(200, 400); while (i < n) { i++; // watermark under the existing page under = stamp.getUnderContent(i); under.addImage(img); // text over the existing page over = stamp.getOverContent(i); over.beginText(); over.setFontAndSize(bf, 18); over.setTextMatrix(30, 30); over.showText("page " + i); over.setFontAndSize(bf, 32); over.showTextAligned(Element.ALIGN_LEFT, "DUPLICATE", 230, 430, 45); over.endText(); } // adding an extra page stamp.insertPage(1, PageSize.A4); over = stamp.getOverContent(1); over.beginText(); over.setFontAndSize(bf, 18); over.showTextAligned(Element.ALIGN_LEFT, "DUPLICATE OF AN EXISTING PDF DOCUMENT", 30, 600, 0); over.endText(); // adding a page from another document PdfReader reader2 = new PdfReader(PdfTestBase.RESOURCES_DIR +"SimpleAnnotations1.pdf"); under = stamp.getUnderContent(1); under.addTemplate(stamp.getImportedPage(reader2, 3), 1, 0, 0, 1, 0, 0); // closing PdfStamper will generate the new PDF file stamp.close(); }
Example 10
Source File: LayersTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Draws different things into different layers. */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(); // step 2: creation of the writer PdfWriter writer = PdfWriter.getInstance(document, PdfTestBase.getOutputStream("layers.pdf")); // step 3: we open the document document.open(); // step 4: // high level Paragraph p = new Paragraph(); for (int i = 0; i < 100; i++) p.add(new Chunk("Blah blah blah blah blah. ")); document.add(p); Image img = Image.getInstance(PdfTestBase.RESOURCES_DIR + "hitchcock.png"); img.setAbsolutePosition(100, 500); document.add(img); // low level PdfContentByte cb = writer.getDirectContent(); PdfContentByte cbu = writer.getDirectContentUnder(); cb.setRGBColorFill(0xFF, 0xFF, 0xFF); cb.circle(250.0f, 500.0f, 50.0f); cb.fill(); cb.sanityCheck(); cbu.setRGBColorFill(0xFF, 0x00, 0x00); cbu.circle(250.0f, 500.0f, 100.0f); cbu.fill(); cbu.sanityCheck(); // step 5: we close the document document.close(); }
Example 11
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 12
Source File: RawDataTest.java From itext2 with GNU Lesser General Public License v3.0 | 4 votes |
/** * Raw data. */ @Test public void main() throws Exception { // step 1: creation of a document-object Document document = new Document(); // step 2: // we create a writer that listens to the document // and directs a PDF-stream to a file PdfWriter.getInstance(document, PdfTestBase.getOutputStream("rawdata.pdf")); // step 3: we open the document document.open(); // step 4: we add content (example by Paulo Soares) // creation a jpeg passed as an array of bytes to the Image RandomAccessFile rf = new RandomAccessFile(PdfTestBase.RESOURCES_DIR + "otsoe.jpg", "r"); int size = (int) rf.length(); byte imext[] = new byte[size]; rf.readFully(imext); rf.close(); Image img1 = Image.getInstance(imext); img1.setAbsolutePosition(50, 500); document.add(img1); // creation of an image of 100 x 100 pixels (x 3 bytes for the Red, // Green and Blue value) byte data[] = new byte[100 * 100 * 3]; for (int k = 0; k < 100; ++k) { for (int j = 0; j < 300; j += 3) { data[k * 300 + j] = (byte) (255 * Math.sin(j * .5 * Math.PI / 300)); data[k * 300 + j + 1] = (byte) (256 - j * 256 / 300); data[k * 300 + j + 2] = (byte) (255 * Math.cos(k * .5 * Math.PI / 100)); } } Image img2 = Image.getInstance(100, 100, 3, 8, data); img2.setAbsolutePosition(200, 200); document.add(img2); // step 5: we close the document document.close(); }