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

目录

0.前言:

1.工具目录

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

效果

PDF转换为JPG(带颜色)

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

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

如何运行

3.代码

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

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

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

4.代码参考

5.下载地址


=========

0.前言:

这个工具是java实现的,

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

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

===

1.工具目录

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

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

效果

PDF转换为JPG(带颜色)

===

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

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

如何运行

执行对于的bat即可执行。

===

3.代码

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

java 复制代码
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 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 < 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 document
			document.close();

			System.out.println("PDF converted to TIF successfully");
		} catch (Exception e) {
			e.printStackTrace();

		}
	}
}

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

java 复制代码
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 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 < 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 document
			document.close();

			System.out.println("PDF converted to TIF successfully");
		} catch (Exception e) {
			e.printStackTrace();

		}
	}
}

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

java 复制代码
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 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 < 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 document
			document.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.下载地址

== 资源

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

==

相关推荐
ElasticPDF-新国产PDF编辑器5 小时前
【最新·免费PDF编辑器·不限终端·最高性价比SDK】直接编辑 PDF 原有图片!裁剪、替换、旋转与图层管理
pdf
gb42152876 小时前
python中pypdf库和langchain-unstructured库在解析pdf文件的时候的区别?
python·langchain·pdf
ElasticPDF-新国产PDF编辑器8 小时前
【最新·免费PDF编辑器·不限终端·最高性价比SDK】高亮、评论、图章、手绘与签名,一套完成 PDF 批注
pdf·编辑器
SunnyDays10119 小时前
Java 如何为 PDF 添加、修改和删除书签
java·pdf
Elastic 中国社区官方博客11 小时前
一个字段,覆盖所有模态:Elasticsearch 的 semantic 字段如何自动索引和搜索图像、音频、视频和 PDF
大数据·数据库·elasticsearch·ai·云原生·pdf·全文检索
zyplayer-doc13 小时前
核心制度不该被随手修改:用zyplayer-doc锁定文档和全部子文档
大数据·数据库·人工智能·笔记·pdf·ocr
2601_965912831 天前
PDF添加页码功能横向评测:7款免费方案实测数据对比
pdf
AmyLin_20011 天前
PDF 色彩保真工程实践【5】核心实现(下):拼装 Image XObject、页面资源与内容流
c++·pdf·sdk·颜色空间·印刷·icc·cmyk
Jazz_z1 天前
如何用Python将彩色PDF一键转为黑白(灰度)
java·python·pdf
SamChan902 天前
PDF拆分+翻译+合并:一条流水线处理大文档的Python方案
java·python·ai·pdf·自动化