一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - Java pdf和jpg互轉案例

Java pdf和jpg互轉案例

2020-09-29 10:47xqnode JAVA教程

這篇文章主要介紹了Java pdf和jpg互轉案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

pdfbox: jpg轉pdf:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
   * 使用pdfbox將jpg轉成pdf
   * @param jpgStream jpg輸入流
   * @param pdfPath pdf文件存儲路徑
   * @throws IOException IOException
   */
  public static void jpgToPdf(InputStream jpgStream, String pdfPath) throws IOException {
 
    PDDocument pdDocument = new PDDocument();
    BufferedImage image = ImageIO.read(jpgStream);
 
    PDPage pdPage = new PDPage(new PDRectangle(image.getWidth(), image.getHeight()));
    pdDocument.addPage(pdPage);
    PDImageXObject pdImageXObject = LosslessFactory.createFromImage(pdDocument, image);
    PDPageContentStream contentStream = new PDPageContentStream(pdDocument, pdPage);
    contentStream.drawImage(pdImageXObject, 0, 0, image.getWidth(), image.getHeight());
    contentStream.close();
    pdDocument.save(pdfPath);
    pdDocument.close();
  }

pdfbox: pdf轉jpg:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
static void pdfbox() throws IOException {
    long start = System.currentTimeMillis();
    //pdf路徑
    URL url = new URL("file:///D:/1.pdf");
    InputStream stream = URLUtil.getStream(url);
    // 加載解析PDF文件
    PDDocument doc = PDDocument.load(stream);
    PDFRenderer pdfRenderer = new PDFRenderer(doc);
    PDPageTree pages = doc.getPages();
    int pageCount = pages.getCount();
    for (int i = 0; i < pageCount; i++) {
      BufferedImage bim = pdfRenderer.renderImageWithDPI(i, 200);
      ByteArrayOutputStream os = new ByteArrayOutputStream();
      ImageIO.write(bim, "jpg", os);
      byte[] datas = os.toByteArray();
//      InputStream is = new ByteArrayInputStream(datas);
      //jpg文件轉出路徑
      FileUtil.writeBytes(datas, new File("d:/jpg/" + i + ".jpg"));
    }
    long end = System.currentTimeMillis();
    long time = (end - start) / 1000;
    System.out.println(StrUtil.format("pdf轉jpg耗時: {}s", time));
  }

icepdf: pdf轉jpg

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Document document = new Document();
document.setUrl(new URL(pdfUrl));
int pageNum = document.getNumberOfPages();
for (int i = 0; i < pageNum; i++) {
  // 目前僅支持1對1的pdf->jpg
  if (i != 0) {
    continue;
  }
  // 3、pdf -> jpg
  BufferedImage bim = (BufferedImage) document.getPageImage(i,
      GraphicsRenderingHints.SCREEN, Page.BOUNDARY_CROPBOX,
      rotation, scale);
  os = new ByteArrayOutputStream();
  ImageIO.write(bim, "jpg", os);
  // 4、jpg -> fdfs
  byte[] datas = os.toByteArray();
  InputStream is = new ByteArrayInputStream(datas);

補充知識:Java實現對png圖片文件電子簽名操作

我就廢話不多說了,大家還是直接看代碼吧~

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * 根據圖片像素位置添加用戶電子簽名
 * @param imagePath   要操作的圖片路徑
 * @param signImagePath 電子簽名圖片路徑
 * @param outImagePath 合成后輸出圖片路徑
 * @param width 像素位寬度
 * @param height 像素位高度
 */
public static void syntheticPicture(String imagePath, String signImagePath,Integer width,Integer height, String outImagePath ) {
  try {
    BufferedImage big = ImageIO.read(new File(imagePath));
    BufferedImage small = ImageIO.read(new File(signImagePath));
    Graphics2D g = big.createGraphics();
    //根據圖片像素位置粘貼帶電子簽名
    g.drawImage(small, width, height, small.getWidth(), small.getHeight(), null);
    g.dispose();
    ImageIO.write(big, outImagePath .split("\\.")[1], new File(outImagePath ));
  } catch (Exception e) {
    throw new RuntimeException(e);
  }
}

以上這篇Java pdf和jpg互轉案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/xqnode/article/details/80525995

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九九九在线视频播放 | 91污无限制破解安卓2021 | 亚洲网红精品大秀在线观看 | 海角社区在线登录 | 五月色天在线视频综合观看 | 青青在线视频观看 | 日本在线观看免费观看完整版 | 天天射天天舔 | 日本公乱妇视频 | 美女隐私部位视频网站 | 精品牛牛影视久久精品 | 男人猛进女人屁股免费 | 我和黑色丝袜班主任 | 丝瓜草莓香蕉绿巨人幸福宝 | 国产高清国内精品福利色噜噜 | 视频一区二区国产 | 欧洲第一页 | 国产三级自拍 | 俺去俺也在线www色官网 | 欧美成人aletta ocean | 国产成人欧美视频在线 | 99热线| 国产草 | 国产情侣自拍网 | 高h喷水荡肉爽文np肉色文 | 国产精品综合在线 | 欧美大片一区二区三区 | 亚洲羞羞视频 | 日本一片免费观看高清完整 | www射com| 2021最新国产成人精品免费 | 午夜人妻理论片天堂影院 | np高h疯狂黄暴宫口 narutomanga玖辛奈之乳 | 国产成人啪精品视频站午夜 | 日韩精品视频观看 | 免费视频亚洲 | 亚洲精品成人456在线播放 | 成年人免费观看的视频 | wc凹凸撒尿间谍女厕hd | 天天操天天做 | 人人澡 人人澡碰人人看软件 |