目录
0.前言:
1.工具目录
2.工具功能(效果),如何运行
效果
PDF转换为JPG(带颜色)
PDF转换为TIF(LZW形式压缩,可以显示子的深浅)
PDF转换为TIF(CCITT形式压缩,无法显示子的深浅)
如何运行
3.代码
PDF转换为JPG(带颜色) 代码
PDF转换为TIF(LZW形式压缩,可以显示子的深浅) 代码
PDF转换为TIF(CCITT形式压缩,无法显示子的深浅) 代码
4.代码参考
5.简易版的改善
6.下载地址
=========
这个工具是java实现的,
现在电脑上一般都安装了JRE,即使你不会java,不懂什么是Java。
只要你电脑上安装了jre,这个工具一样可以使用。
===
把要转换的PDF命名为【input.pdf】放到下面的目录中
===
执行对于的bat即可执行。
===
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.dering.ImageType;
import org.dering.PDFRenderer;
public class TestPDFToJpg {
public static void main(String[] args) {
try {
String currentDirectory = Property("user.dir");
System.out.println("----------------------");
System.out.println(currentDirectory );
// Load the PDF document
PDDocument document = PDDocument.load(new File((currentDirectory + "\PDF\input.pdf")));
// Create a PDF renderer
PDFRenderer pdfRenderer = new PDFRenderer(document);
// Iterate over each page in the PDF document
for (int pageNumber = 0; pageNumber < NumberOfPages(); pageNumber++) {
// Render the PDF page to a BufferedImage
// BufferedImage image = derImageWithDPI(pageNumber, 300,
// ImageType.RGB);
BufferedImage image = derImageWithDPI(pageNumber, 200, ImageType.RGB);
ImageWriter writer = ImageWritersByFormatName("jpg").next();
ImageWriteParam writeParam = DefaultWriteParam();
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 document
document.close();
System.out.println("PDF converted to TIF successfully");
} catch (Exception e) {
e.printStackTrace();
}
}
}
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.dering.ImageType;
import org.dering.PDFRenderer;
public class TestPDFToTIFCompressLZW {
public static void main(String[] args) {
try {
String currentDirectory = Property("user.dir");
System.out.println("----------------------");
System.out.println(currentDirectory );
// Load the PDF document
PDDocument document = PDDocument.load(new File((currentDirectory + "\PDF\input.pdf")));
// Create a PDF renderer
PDFRenderer pdfRenderer = new PDFRenderer(document);
// Iterate over each page in the PDF document
for (int pageNumber = 0; pageNumber < NumberOfPages(); pageNumber++) {
// Render the PDF page to a BufferedImage
// BufferedImage image = derImageWithDPI(pageNumber, 300,
// ImageType.RGB);
BufferedImage image = derImageWithDPI(pageNumber, 200, ImageType.GRAY);
ImageWriter writer = ImageWritersByFormatName("tiff").next();
ImageWriteParam writeParam = DefaultWriteParam();
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 document
document.close();
System.out.println("PDF converted to TIF successfully");
} catch (Exception e) {
e.printStackTrace();
}
}
}
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.dering.ImageType;
import org.dering.PDFRenderer;
public class TestPDFToTIFCompressCCITT {
public static void main(String[] args) {
try {
String currentDirectory = Property("user.dir");
System.out.println("----------------------");
System.out.println(currentDirectory );
// Load the PDF document
PDDocument document = PDDocument.load(new File((currentDirectory + "\PDF\input.pdf")));
// Create a PDF renderer
PDFRenderer pdfRenderer = new PDFRenderer(document);
// Iterate over each page in the PDF document
for (int pageNumber = 0; pageNumber < NumberOfPages(); pageNumber++) {
// Render the PDF page to a BufferedImage
// BufferedImage image = derImageWithDPI(pageNumber, 300,
// ImageType.RGB);
BufferedImage image = derImageWithDPI(pageNumber, 200, ImageType.BINARY);
ImageWriter writer = ImageWritersByFormatName("tiff").next();
ImageWriteParam writeParam = DefaultWriteParam();
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 document
document.close();
System.out.println("PDF converted to TIF successfully");
} catch (Exception e) {
e.printStackTrace();
}
}
}
java实现,PDF转图片(TIF,jpg)、PDF中写入内容_pdf转tif乱码 java-CSDN博客
==
目前:
一次只能处理一个文件
要把要转换的文件,命名为[input.pdf]
转换的对象文件,要放到PDF目录中
改善目标:
一次只能处理一个文件 ⇒ 一次可以处理多个文件
要把要转换的文件,命名为[input.pdf] ⇒ 无需修改要转换的文件名
转换的对象文件,要放到PDF目录中 ⇒ 程序运行时,可以指定两个参数,Input和out的目录名
改善之后,才是真正的工具!!!
==
== 资源
PDF转换为TIF,JPG图片的简易工具资源-CSDN文库
==
本文发布于:2025-01-31 04:08:00,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/1738267733573183.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |