有个需求,涉及到要将pdf文件转化为图片。在网上找了下资料,有一个公司提供了DLL文件,这个玩意要用到JNI,apache有一个开源的组件pdfbox,在open-open上看到的。把google里面的所有资料都看完了,有人提问怎么转化,就是没有解决方案。国外有个网站特缺德,看网友给的答案,还要邮箱注册,将会获得7天的免费试用。用电影《疯狂的赛车》里的一句话就是:我真鄙视你!还是javaeye好。不注册,看原码,写了个程序,但是总是报错。费了好大的劲,最后有未仁兄的博客上写到他遇到的同一个错误,有网友说是不支持中文的pdf。换了个全英文的pdf,成功得到了所要的图片。以下为pdfbox的两个简单应用,先写了个简单的读取内容的:
/*
* 简单测试 读取pdf文档中的数据。中文不会出现问题
*/
public class BaseTest {
public static void main(String[] args) throws Exception {
InputStream in = new FileInputStream("E:\\TestDocument\\test中文.pdf");
PDFParser p = new PDFParser(in);
p.parse();
COSDocument pdfDocument = p.getDocument();
PDFTextStripper stripper = new PDFTextStripper();
String s = stripper.getText(new PDDocument(pdfDocument));
pdfDocument.close();
System.out.println(s);
}
}
将pdf转化为图片
String pdfUrl = "E:\\TestDocument\\test.pdf";//内容为中文的pdf会抛异常
String[] s = {"-imageType","jpg",pdfUrl};
PDFToImage.main(s);
就是这三句了,转化是用到PDFToImage,该类只有一个静态的main方法。该方法中具体的参数设置有好几个,可以设置pdf的password,startPage,endPage,imageType,outputPrefix,和pdf的url,该处只是设置了imageType和url。参看原代码和上列,可以得到其他的参数设置方式。不能转化中文的,是pdfbox本身的不支持(但是读取文件内容,不会出现这样的情况)。由于该需求又不用了,研究到此为止,还有很多东西要看,以后遇到了再来解决这个万恶的不支持中文的问题。
分享到:
相关推荐
PDFBox是Apache软件基金会的一个开源项目,专门用于处理PDF(Portable Document Format)文档的Java库。这个库提供了广泛的API,让开发者能够创建、修改、提取和显示PDF文档内容。PDFBox 1.6.0是该库的一个版本,...
pdfbox for .Net目前的最新版PDFBox-2.0.19 用法: 将压缩包内所有dll拷贝到项目编译目录, 在项目中引用 IKVM.OpenJDK.Core.dll IKVM.OpenJDK.SwingAWT.dll pdfbox-app-2.0.19.dll 在代码中引入命名空间using org....
PDFBox是Apache软件基金会的一个开源项目,主要用于处理PDF(Portable Document Format)文档。这个库提供了丰富的API,使得开发者能够创建、编辑、阅读和打印PDF文件。在这个场景中,提到的"pdfbox使用jar包"指的是...
PDFbox.jar,2.0.9版本,PDFbox.jar,2.0.9版本,PDFbox.jar,2.0.9版本,PDFbox.jar,2.0.9版本,
PDFBox是Apache软件基金会开发的一个开源Java库,用于处理PDF(Portable Document Format)文档。这个库提供了丰富的API,使得开发者可以方便地创建、修改、读取和操作PDF文档。在这个压缩包中,我们找到了三个核心...
PDFBox是一个开源的Java库,主要用于处理PDF文档,但也可以通过.NET平台的Java interop技术在C#中使用。本篇文章将详细介绍如何在C#环境中利用PDFBox库来读取PDF文件的内容,并将其转换为TXT格式进行保存。 首先,...
PDFBox是Apache软件基金会开发的一个开源Java库,用于处理PDF(Portable Document Format)文档。`pdfbox-1.8.2.jar`是该库的一个版本,主要用于在Java应用程序中进行PDF文档的创建、读取、修改和转换。下面将详细...
PDFBox是Apache软件基金会开发的一个开源Java库,用于处理PDF(Portable Document Format)文档。它提供了许多功能,包括创建、编辑、阅读、提取文本和图像,以及签署PDF文档。在这个场景中,"pdfbox所需jar包"指的...
PDFBox是Apache软件基金会的一个开源项目,主要用于处理PDF(Portable Document Format)文档。在这个特定的版本,即PDFBox-1.2.1,用户可以获取到项目的源代码,这对于开发者来说是一个宝贵的资源,因为它提供了...
PDFBox是Apache软件基金会开发的一个开源Java库,用于处理PDF(Portable Document Format)文档。它提供了许多API,允许开发者创建、编辑、读取和提取PDF文档的信息。在本实例中,我们将深入探讨如何使用PDFBox ...
PDFBox是Apache软件基金会的一个开源项目,主要用于处理PDF(Portable Document Format)文档。这个压缩包“PDFBox-0.7.3.rar”包含了版本0.7.3的PDFBox库,该版本可能发布于若干年前,因为当前的PDFBox版本已经更新...
PDFBox是Apache软件基金会开发的一个开源Java库,用于处理PDF(Portable Document Format)文档。它提供了丰富的API,允许开发者在应用程序中创建、编辑、读取和转换PDF文档。在这个特定的场景中,我们关注的是使用...
pdfbox for .Net目前的最新版PDFBox-2.0.12 用法: 首先在引用中将下载的dll添加到项目中,同时在cs文件中引入命名空间using org.apache.pdfbox.text; 然后可以按如下代码编写demo PDDocument doc = PDDocument.load...
PDFBox是Apache软件基金会的一个开源项目,主要用于处理PDF文档。在C#环境下,开发者通常需要借助第三方库来处理PDF文件,因为.NET Framework原生并不支持PDF操作。在本例中,我们关注的是一个名为"pdfbox1.8.3.dll...
为了解决这个问题,我们可以借助开源库如PDFBox。在这个场景中,我们使用的PDFBox版本是2.0.8,它是一个强大的工具,能够帮助开发者读取、创建、编辑PDF文档,并且提供了打印功能。 PDFBox是由Apache软件基金会开发...
PDFBox是Apache软件基金会的一个开源项目,主要用于处理PDF文档。这个源码库包含了处理PDF文档的各种功能,如读取、写入、编辑和签署PDF文件。对于开发者来说,深入理解PDFBox的源码有助于定制化需求,提升PDF处理...
PDFBox是Apache软件基金会开发的一个Java库,用于处理PDF文档。在使用PDFBox将PDF转换为图片的过程中,可能会遇到一个问题,即转换后的图片显示的文字不完整或者丢失。这通常是由于PDF文档中使用的某些字体在目标...
PDFBox是Apache软件基金会的一个开源项目,主要用于处理PDF(Portable Document Format)文档。这个压缩包包含了PDFBox的所有jar包以及源码,对于开发者来说,这是一个非常宝贵的资源,可以帮助理解和操作PDF文档,...
使用PDFBox操作PDF 1.6版本时会出现错误: (1)pdfbox0.7.3 java.lang.NullPointerException at org.pdfbox.pdmodel.PDPageNode.getCount(PDPageNode.java:116) at org.pdfbox.pdmodel.PDDocument....