Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.apache.pdfbox.pdmodel.PDDocument;
- import org.apache.pdfbox.pdmodel.PDPage;
- import org.apache.pdfbox.pdmodel.common.PDRectangle;
- import org.apache.pdfbox.rendering.PDFRenderer;
- import org.apache.pdfbox.tools.imageio.ImageIOUtil;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.io.IOException;
- public class CropBoxImage {
- static final String destFolder = "/Users/victor/Downloads/";
- static final Float SCALE = 4f;
- public static void main(String[] args) throws IOException {
- Integer pageNum = 12;
- saveToImg(pageNum);
- saveToPDF(pageNum);
- }
- public static void saveToImg(Integer pageNum) throws IOException {
- Integer dpi = 300;
- String outFilename = String.format("samsung.crop.page.%d.image.jpg", pageNum - 1);
- PDDocument ppdDocument = PDDocument.load(new File(destFolder, "Samsung_TV_UserManual_ENG-US_NMATSCJ-1.103-0330.pdf"));
- PDPage ppage = ppdDocument.getPage(pageNum - 1);
- //commenting out the setCropBox correctly outputs the page to image
- ppage.setCropBox(new PDRectangle(40f, 680f, 510f, 100f));
- PDFRenderer renderer = new PDFRenderer(ppdDocument);
- BufferedImage img = renderer.renderImage(pageNum - 1, SCALE);
- ImageIOUtil.writeImage(img, destFolder + outFilename, dpi);
- ppdDocument.close();
- }
- public static void saveToPDF(Integer pageNum) throws IOException {
- PDDocument ppdDocument = PDDocument.load(new File(destFolder, "Samsung_TV_UserManual_ENG-US_NMATSCJ-1.103-0330.pdf"));
- PDPage ppage = ppdDocument.getPage(pageNum - 1);
- ppage.setCropBox(new PDRectangle(40f, 680f, 510f, 100f));
- ppdDocument.save(new File(destFolder, "samsung.v3-page12cropped.pdf"));
- ppdDocument.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement