当前位置: 首页 > news >正文

PDF转换为TIF,JPG的一个简易工具(含下载链接)

目录

0.前言:

1.工具目录

2.工具功能(效果),如何运行

效果

PDF转换为JPG(带颜色)

PDF转换为TIF(LZW形式压缩,可以显示子的深浅)

PDF转换为TIF(CCITT形式压缩,无法显示子的深浅)

如何运行

3.代码

PDF转换为JPG(带颜色) 代码

PDF转换为TIF(LZW形式压缩,可以显示子的深浅) 代码

PDF转换为TIF(CCITT形式压缩,无法显示子的深浅) 代码

4.代码参考

5.简易版的改善

6.下载地址


=========

0.前言:

这个工具是java实现的,

现在电脑上一般都安装了JRE,即使你不会java,不懂什么是Java。

只要你电脑上安装了jre,这个工具一样可以使用。

===

1.工具目录

把要转换的PDF命名为【input.pdf】放到下面的目录中

2.工具功能(效果),如何运行

效果

PDF转换为JPG(带颜色)

===

PDF转换为TIF(LZW形式压缩,可以显示子的深浅)

PDF转换为TIF(CCITT形式压缩,无法显示子的深浅)

如何运行

执行对于的bat即可执行。

===

3.代码

PDF转换为JPG(带颜色) 代码

package com.sxz.study.pdf;import java.awt.image.BufferedImage;
import java.io.File;import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import javax.imageio.stream.FileImageOutputStream;import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;public class TestPDFToJpg {public static void main(String[] args) {try {String currentDirectory = System.getProperty("user.dir");System.out.println("----------------------");System.out.println(currentDirectory );// Load the PDF documentPDDocument document = PDDocument.load(new File((currentDirectory + "\\PDF\\input.pdf")));// Create a PDF rendererPDFRenderer pdfRenderer = new PDFRenderer(document);// Iterate over each page in the PDF documentfor (int pageNumber = 0; pageNumber < document.getNumberOfPages(); pageNumber++) {// Render the PDF page to a BufferedImage// BufferedImage image = pdfRenderer.renderImageWithDPI(pageNumber, 300,// ImageType.RGB);BufferedImage image = pdfRenderer.renderImageWithDPI(pageNumber, 200, ImageType.RGB);ImageWriter writer = ImageIO.getImageWritersByFormatName("jpg").next();ImageWriteParam writeParam = writer.getDefaultWriteParam();writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
//		        writeParam.setCompressionType("LZW");// 创建输出文件流FileImageOutputStream output = new FileImageOutputStream(new File(currentDirectory + "\\JPG\\Oupput_" + (pageNumber + 1) + ".jpg"));writer.setOutput(output);// 写入压缩后的TIF图像writer.write(null, new IIOImage(image, null, null), writeParam);// 关闭输出流output.close();}// Close the PDF documentdocument.close();System.out.println("PDF converted to TIF successfully");} catch (Exception e) {e.printStackTrace();}}
}

PDF转换为TIF(LZW形式压缩,可以显示子的深浅) 代码

package com.sxz.study.pdf;import java.awt.image.BufferedImage;
import java.io.File;import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import javax.imageio.stream.FileImageOutputStream;import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;public class TestPDFToTIFCompressLZW {public static void main(String[] args) {try {String currentDirectory = System.getProperty("user.dir");System.out.println("----------------------");System.out.println(currentDirectory );// Load the PDF documentPDDocument document = PDDocument.load(new File((currentDirectory + "\\PDF\\input.pdf")));// Create a PDF rendererPDFRenderer pdfRenderer = new PDFRenderer(document);// Iterate over each page in the PDF documentfor (int pageNumber = 0; pageNumber < document.getNumberOfPages(); pageNumber++) {// Render the PDF page to a BufferedImage// BufferedImage image = pdfRenderer.renderImageWithDPI(pageNumber, 300,// ImageType.RGB);BufferedImage image = pdfRenderer.renderImageWithDPI(pageNumber, 200, ImageType.GRAY);ImageWriter writer = ImageIO.getImageWritersByFormatName("tiff").next();ImageWriteParam writeParam = writer.getDefaultWriteParam();writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);writeParam.setCompressionType("LZW");// 创建输出文件流FileImageOutputStream output = new FileImageOutputStream(new File(currentDirectory + "\\TIF_LZW\\Oupput_" + (pageNumber + 1) + ".TIF"));writer.setOutput(output);// 写入压缩后的TIF图像writer.write(null, new IIOImage(image, null, null), writeParam);// 关闭输出流output.close();}// Close the PDF documentdocument.close();System.out.println("PDF converted to TIF successfully");} catch (Exception e) {e.printStackTrace();}}
}

PDF转换为TIF(CCITT形式压缩,无法显示子的深浅) 代码

package com.sxz.study.pdf;import java.awt.image.BufferedImage;
import java.io.File;import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import javax.imageio.stream.FileImageOutputStream;import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
import org.apache.pdfbox.rendering.PDFRenderer;public class TestPDFToTIFCompressCCITT {public static void main(String[] args) {try {String currentDirectory = System.getProperty("user.dir");System.out.println("----------------------");System.out.println(currentDirectory );// Load the PDF documentPDDocument document = PDDocument.load(new File((currentDirectory + "\\PDF\\input.pdf")));// Create a PDF rendererPDFRenderer pdfRenderer = new PDFRenderer(document);// Iterate over each page in the PDF documentfor (int pageNumber = 0; pageNumber < document.getNumberOfPages(); pageNumber++) {// Render the PDF page to a BufferedImage// BufferedImage image = pdfRenderer.renderImageWithDPI(pageNumber, 300,// ImageType.RGB);BufferedImage image = pdfRenderer.renderImageWithDPI(pageNumber, 200, ImageType.BINARY);ImageWriter writer = ImageIO.getImageWritersByFormatName("tiff").next();ImageWriteParam writeParam = writer.getDefaultWriteParam();writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);writeParam.setCompressionType("CCITT T.4");//writeParam.setCompressionQuality(1.0f);// 创建输出文件流FileImageOutputStream output = new FileImageOutputStream(new File(currentDirectory + "\\TIF_CCIT\\Oupput_" + (pageNumber + 1) + ".TIF"));writer.setOutput(output);// 写入压缩后的TIF图像writer.write(null, new IIOImage(image, null, null), writeParam);// 关闭输出流output.close();}// Close the PDF documentdocument.close();System.out.println("PDF converted to TIF successfully");} catch (Exception e) {e.printStackTrace();}}
}

4.代码参考

java实现,PDF转图片(TIF,jpg)、PDF中写入内容_pdf转tif乱码 java-CSDN博客

==

5.简易版的改善

目前:

一次只能处理一个文件

要把要转换的文件,命名为[input.pdf]

转换的对象文件,要放到PDF目录中

改善目标:

一次只能处理一个文件  ⇒ 一次可以处理多个文件

要把要转换的文件,命名为[input.pdf]   ⇒ 无需修改要转换的文件名

转换的对象文件,要放到PDF目录中  ⇒ 程序运行时,可以指定两个参数,Input和out的目录名

改善之后,才是真正的工具!!!

==

6.下载地址

== 资源

PDF转换为TIF,JPG图片的简易工具资源-CSDN文库

==

http://www.lryc.cn/news/452382.html

相关文章:

  • Wireshark 解析QQ、微信的通信协议|TCP|UDP
  • 网络编程(5)——模拟伪闭包实现连接的安全回收
  • C#绘制动态曲线
  • 用Python实现运筹学——Day 10: 线性规划的计算机求解
  • [C++]使用C++部署yolov11目标检测的tensorrt模型支持图片视频推理windows测试通过
  • 霍夫曼树及其与B树和决策树的异同
  • CompletableFuture常用方法
  • 本地化测试对游戏漏洞修复的影响
  • 使用rust实现rtsp码流截图
  • Cpp::STL—string类的模拟实现(12)
  • 一文搞懂SentencePiece的使用
  • 一个简单的摄像头应用程序1
  • 通过PHP获取商品详情
  • 【Android】获取备案所需的公钥以及签名MD5值
  • 看480p、720p、1080p、2k、4k、视频一般需要多大带宽呢?
  • 解决IDEA中@Autowired红色报错的实用指南:原因与解决方案
  • 408知识点自检(一)
  • 负载均衡--相关面试题(六)
  • 【Unity踩坑】Unity更新Google Play结算库
  • Redis:hash类型
  • 力扣9.30
  • kafka下载配置
  • nlp任务之预测中间词-huggingface
  • 《程序猿之Redis缓存实战 · Redis 与数据库一致性》
  • 【无标题】observer: error while loading shared libraries: libmariadb.so.3处理办法
  • 极客兔兔Gee-Cache Day1
  • [MAUI]数据绑定和MVVM:MVVM的属性验证
  • 2024年水利水电安全员考试题库及答案
  • 【快速删除 node_modules 】rimraf
  • 毕业设计选题:基于ssm+vue+uniapp的教学辅助小程序