Advertisement
Guest User

Untitled

a guest
Sep 26th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. import org.apache.pdfbox.pdmodel.PDDocument;
  2. import org.apache.pdfbox.pdmodel.PDPage;
  3. import org.apache.pdfbox.pdmodel.common.PDRectangle;
  4. import org.apache.pdfbox.rendering.PDFRenderer;
  5. import org.apache.pdfbox.tools.imageio.ImageIOUtil;
  6.  
  7. import java.awt.image.BufferedImage;
  8. import java.io.File;
  9. import java.io.IOException;
  10.  
  11. public class CropBoxImage {
  12. static final String destFolder = "/Users/victor/Downloads/";
  13. static final Float SCALE = 4f;
  14.  
  15. public static void main(String[] args) throws IOException {
  16. Integer pageNum = 12;
  17. saveToImg(pageNum);
  18. saveToPDF(pageNum);
  19. }
  20.  
  21. public static void saveToImg(Integer pageNum) throws IOException {
  22. Integer dpi = 300;
  23.  
  24. String outFilename = String.format("samsung.crop.page.%d.image.jpg", pageNum - 1);
  25. PDDocument ppdDocument = PDDocument.load(new File(destFolder, "Samsung_TV_UserManual_ENG-US_NMATSCJ-1.103-0330.pdf"));
  26. PDPage ppage = ppdDocument.getPage(pageNum - 1);
  27. //commenting out the setCropBox correctly outputs the page to image
  28. ppage.setCropBox(new PDRectangle(40f, 680f, 510f, 100f));
  29.  
  30. PDFRenderer renderer = new PDFRenderer(ppdDocument);
  31. BufferedImage img = renderer.renderImage(pageNum - 1, SCALE);
  32. ImageIOUtil.writeImage(img, destFolder + outFilename, dpi);
  33. ppdDocument.close();
  34. }
  35.  
  36. public static void saveToPDF(Integer pageNum) throws IOException {
  37. PDDocument ppdDocument = PDDocument.load(new File(destFolder, "Samsung_TV_UserManual_ENG-US_NMATSCJ-1.103-0330.pdf"));
  38. PDPage ppage = ppdDocument.getPage(pageNum - 1);
  39. ppage.setCropBox(new PDRectangle(40f, 680f, 510f, 100f));
  40. ppdDocument.save(new File(destFolder, "samsung.v3-page12cropped.pdf"));
  41. ppdDocument.close();
  42. }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement