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 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形式压缩,可以显示子的深浅) 代码

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形式压缩,无法显示子的深浅) 代码

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.简易版的改善

目前:

一次只能处理一个文件

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

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

改善目标:

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

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

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

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

==

6.下载地址

== 资源

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

==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值