Java Code Examples for org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject#getWidth()
The following examples show how to use
org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject#getWidth() .
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: DrawImage.java From testarea-pdfbox2 with Apache License 2.0 | 6 votes |
/** * <a href="https://stackoverflow.com/questions/58606529/pdf-size-too-large-generating-through-android-pdfdocument-and-while-using-pdfbo"> * PDF size too large generating through Android PDFDocument. And while using pdfbox it is cutting image in output * </a> * <p> * This code shows how to draw an image onto a page with * the image "default size". * </p> */ @Test public void testDrawImageToFitPage() throws IOException { try ( InputStream imageResource = getClass().getResourceAsStream("Willi-1.jpg")) { PDDocument document = new PDDocument(); PDImageXObject ximage = JPEGFactory.createFromStream(document,imageResource); PDPage page = new PDPage(new PDRectangle(ximage.getWidth(), ximage.getHeight())); document.addPage(page); PDPageContentStream contentStream = new PDPageContentStream(document, page); contentStream.drawImage(ximage, 0, 0); contentStream.close(); document.save(new File(RESULT_FOLDER, "Willi-1.pdf")); document.close(); } }
Example 2
Source File: ResourceCacheWithLimitedImages.java From pdfcompare with Apache License 2.0 | 5 votes |
@Override public void put(COSObject indirect, PDXObject xobject) throws IOException { final int length = xobject.getStream().getLength(); if (length > environment.getMaxImageSize()) { LOG.trace("Not caching image with Size: {}", length); return; } if (xobject instanceof PDImageXObject) { PDImageXObject imageObj = (PDImageXObject) xobject; if (imageObj.getWidth() * imageObj.getHeight() > environment.getMaxImageSize()) { return; } } this.xobjects.put(indirect, new SoftReference<>(xobject)); }
Example 3
Source File: AddImage.java From testarea-pdfbox2 with Apache License 2.0 | 5 votes |
/** * <a href="https://stackoverflow.com/questions/49958604/draw-image-at-mid-position-using-pdfbox-java"> * Draw image at mid position using pdfbox Java * </a> * <p> * This is the OP's original code. It mirrors the image. * This can be fixed as shown in {@link #testImageAppendNoMirror()}. * </p> */ @Test public void testImageAppendLikeShanky() throws IOException { try ( InputStream resource = getClass().getResourceAsStream("/mkl/testarea/pdfbox2/sign/test.pdf"); InputStream imageResource = getClass().getResourceAsStream("Willi-1.jpg") ) { PDDocument doc = Loader.loadPDF(resource); PDImageXObject pdImage = PDImageXObject.createFromByteArray(doc, ByteStreams.toByteArray(imageResource), "Willi"); int w = pdImage.getWidth(); int h = pdImage.getHeight(); PDPage page = doc.getPage(0); PDPageContentStream contentStream = new PDPageContentStream(doc, page, PDPageContentStream.AppendMode.APPEND, true); float x_pos = page.getCropBox().getWidth(); float y_pos = page.getCropBox().getHeight(); float x_adjusted = ( x_pos - w ) / 2; float y_adjusted = ( y_pos - h ) / 2; Matrix mt = new Matrix(1f, 0f, 0f, -1f, page.getCropBox().getLowerLeftX(), page.getCropBox().getUpperRightY()); contentStream.transform(mt); contentStream.drawImage(pdImage, x_adjusted, y_adjusted, w, h); contentStream.close(); doc.save(new File(RESULT_FOLDER, "test-with-image-shanky.pdf")); doc.close(); } }
Example 4
Source File: AddImage.java From testarea-pdfbox2 with Apache License 2.0 | 5 votes |
/** * <a href="https://stackoverflow.com/questions/49958604/draw-image-at-mid-position-using-pdfbox-java"> * Draw image at mid position using pdfbox Java * </a> * <p> * This is a fixed version of the the OP's original code, cf. * {@link #testImageAppendLikeShanky()}. It does not mirrors the image. * </p> */ @Test public void testImageAppendNoMirror() throws IOException { try ( InputStream resource = getClass().getResourceAsStream("/mkl/testarea/pdfbox2/sign/test.pdf"); InputStream imageResource = getClass().getResourceAsStream("Willi-1.jpg") ) { PDDocument doc = Loader.loadPDF(resource); PDImageXObject pdImage = PDImageXObject.createFromByteArray(doc, ByteStreams.toByteArray(imageResource), "Willi"); int w = pdImage.getWidth(); int h = pdImage.getHeight(); PDPage page = doc.getPage(0); PDPageContentStream contentStream = new PDPageContentStream(doc, page, PDPageContentStream.AppendMode.APPEND, true); float x_pos = page.getCropBox().getWidth(); float y_pos = page.getCropBox().getHeight(); float x_adjusted = ( x_pos - w ) / 2 + page.getCropBox().getLowerLeftX(); float y_adjusted = ( y_pos - h ) / 2 + page.getCropBox().getLowerLeftY(); contentStream.drawImage(pdImage, x_adjusted, y_adjusted, w, h); contentStream.close(); doc.save(new File(RESULT_FOLDER, "test-with-image-no-mirror.pdf")); doc.close(); } }
Example 5
Source File: AddImage.java From testarea-pdfbox2 with Apache License 2.0 | 5 votes |
/** * <a href="https://stackoverflow.com/questions/50988007/clip-an-image-with-pdfbox"> * Clip an image with PDFBOX * </a> * <p> * This test demonstrates how to clip an image and frame the clipping area. * </p> */ @SuppressWarnings("deprecation") @Test public void testImageAddClipped() throws IOException { try ( InputStream imageResource = getClass().getResourceAsStream("Willi-1.jpg") ) { PDDocument doc = new PDDocument(); PDImageXObject pdImage = PDImageXObject.createFromByteArray(doc, ByteStreams.toByteArray(imageResource), "Willi"); int w = pdImage.getWidth(); int h = pdImage.getHeight(); PDPage page = new PDPage(); doc.addPage(page); PDRectangle cropBox = page.getCropBox(); PDPageContentStream contentStream = new PDPageContentStream(doc, page); contentStream.setStrokingColor(25, 200, 25); contentStream.setLineWidth(4); contentStream.moveTo(cropBox.getLowerLeftX(), cropBox.getLowerLeftY() + h/2); contentStream.lineTo(cropBox.getLowerLeftX() + w/3, cropBox.getLowerLeftY() + 2*h/3); contentStream.lineTo(cropBox.getLowerLeftX() + w, cropBox.getLowerLeftY() + h/2); contentStream.lineTo(cropBox.getLowerLeftX() + w/3, cropBox.getLowerLeftY() + h/3); contentStream.closePath(); //contentStream.clip(); contentStream.appendRawCommands("W "); contentStream.stroke(); contentStream.drawImage(pdImage, cropBox.getLowerLeftX(), cropBox.getLowerLeftY(), w, h); contentStream.close(); doc.save(new File(RESULT_FOLDER, "image-clipped.pdf")); doc.close(); } }