网站的整体结构,wordpress生成百度地图,免费建立英文网站,短视频平台的运营策略有哪些文章目录 #x1f412;个人主页#xff1a;信计2102罗铠威#x1f3c5;JavaEE系列专栏#x1f4d6;前言#xff1a;#x1f380; 1. itextpdf1.1导入itextpdf的maven依赖1.2 提取文本代码1.3 pdf转换成图片代码#xff08;本地图片地址还是线上PDF的URL地址均支持#… 文章目录 个人主页信计2102罗铠威JavaEE系列专栏前言 1. itextpdf1.1导入itextpdf的maven依赖1.2 提取文本代码1.3 pdf转换成图片代码本地图片地址还是线上PDF的URL地址均支持 个人主页信计2102罗铠威 JavaEE系列专栏 前言
PDF转文本的插件常用的有pdfbox itextpdf 和 spire.pdf 这几个 1. itextpdf
1.1导入itextpdf的maven依赖 !--2.itexpdf依赖--dependencygroupIdcom.itextpdf/groupIdartifactIditextpdf/artifactIdversion5.5.13.3/version/dependency1.2 提取文本代码
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfTextExtractor;
import java.io.*;public class Main_itextPdf {public static void main(String[] args) throws Exception {System.out.println(------------------------pdf提取文本开始------------------------------);// 2. 加载PDF文件File file new File(C:/Users/Administrator/Desktop/罗铠威个人简历.pdf);PdfReader reader new PdfReader(file.getAbsolutePath());// 3. 解析PDF文件获取页面数据int page 1; // 获取第一页String text PdfTextExtractor.getTextFromPage(reader, page);System.out.println(text);// 4. 关闭PdfReaderreader.close();System.out.println(------------------------pdf提取文本结束------------------------------);}
}
1.3 pdf转换成图片代码本地图片地址还是线上PDF的URL地址均支持
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.PDFRenderer;import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.Scanner;public class Main_itextPdf {public static void main(String[] args) throws Exception {System.out.println(------------------------pdf转图片开始------------------------------);
// InputStream inputStream readPdfFromUrl(http://minio.xxxx/xxxx.pdf);//线上的pdf文件InputStream inputStream new FileInputStream(C:/Users/Administrator/Desktop/罗铠威个人简历.pdf) ;byte[] bytes streamToByte(inputStream);InputStream newStream new ByteArrayInputStream(bytes);//将pdf流转换成png图片流InputStream imgStream pdfToImg(newStream);//存储图片imgStream到桌面ImageIO.write(ImageIO.read(imgStream), png, new File(C:/Users/Administrator/Desktop/1.png));System.out.println(------------------------pdf转图片结束------------------------------);}//支持线上pdf文件地址urlpublic static InputStream readPdfFromUrl(String pdfUrl) throws IOException {URL url new URL(pdfUrl);URLConnection connection url.openConnection();BufferedInputStream bufferedInputStream new BufferedInputStream(connection.getInputStream());return bufferedInputStream;}public static ByteArrayInputStream pdfToImg(InputStream pdfStream) throws Exception {// 将 InputStream 转换为 PDDocumentPDDocument document PDDocument.load(pdfStream);// 创建 PDFRenderer 对象PDFRenderer pdfRenderer new PDFRenderer(document);// 选择第一页面来生成图片// 可以根据需要改成遍历所有页面并保存BufferedImage bufferedImage pdfRenderer.renderImageWithDPI(0, 300); // 0 表示第一页300 DPI 提供高质量图像// 将 BufferedImage 转换为 InputStreamByteArrayOutputStream byteArrayOutputStream new ByteArrayOutputStream();ImageIO.write(bufferedImage, PNG, byteArrayOutputStream);document.close();// 返回一个新的 InputStreamreturn new ByteArrayInputStream(byteArrayOutputStream.toByteArray());}public static byte[] streamToByte(InputStream inputStream) throws Exception {ByteArrayOutputStream buffer new ByteArrayOutputStream();int nRead;byte[] data new byte[1024];while ((nRead inputStream.read(data, 0, data.length)) ! -1) {buffer.write(data, 0, nRead);}buffer.flush();return buffer.toByteArray();}}