Tag: pdf

尝试为PDFTron Android加载图书馆时出错

尝试与PDFTron集成时,我遇到了一个奇怪的错误,即PDFNet Android SDK: UnsatisfiedLinkError:无法加载PDFNetC:findLibrary返回null。 预计armv7a,找到cpu_info:abi:armeabi-v7a 我已经检查了这个链接 。 很可能PDFNet Android SDK提供的本机库未正确包含在我的项目中。 在lib文件夹里面我下载了包,有本机库和java库都需要包含在我的项目中。 在主文件夹中创建一个名为jniLibs的文件夹,并将所有.so(具有相应的文件夹结构)放在jniLibs文件夹中,即: 这将允许Android Studio自动识别本机库路径。 我还指定了产品风味来过滤哪些.so使用,例如: productFlavors { armv7a { ndk { abiFilters “armeabi-v7a” } } arm { ndk { abiFilters “armeabi” } } x86 { ndk { abiFilters “x86” } } armv8 { ndk { abiFilters “arm64-v8a” } } x86_64 { ndk { abiFilters “x86_64” […]

如何使用Java中的PDFBOX库查找pdf是纵向还是横向

我正在使用PDFBOX-1.8.6库(必须使用)在Java中进行项目。 我的问题是 如何检查输入的pdf文件是纵向还是横向? 如果两个页面的尺寸相同,如何通过每页的尺寸检查/扫描PDF中的纵向或横向? 例如,两者都是标准A4尺寸。 下面的图片你会更清楚。 我的风景 – 肖像问题我只想检查其内容是否旋转。 那么我该如何应对上述问题呢?

如何生成带有绿色复选标记的签名PDF

我正在使用iText签署PDF文件。 我在签名中加入了一个图形。 这有效,但是显示文档validation时的绿色复选标记(或黄色问号)会干扰我插入的图形,使最终结果看起来很难看。 它要么显示在签名图形的上方或下方,但我无法让它消失。 有谁知道如何解决这一问题?

如何使用iText旋转PDF格式的水印(文本)?

我正在使用iText在PDF文件上标记水印(文本:“SuperEasy You Done”),如如何使用文本或图像水印PDF中所述? ( TransparentWatermark2.java )。 请参阅GitHub上的项目源代码 。 现在我得到的PDF的一个例子是这个 (文档的其余部分被省略): 如您所见,水印是居中和水平的。 我想将它保持在页面中间的中心位置,但是将其旋转“45”度 ,因此它会逆时针旋转。 像这样的东西: 这是用于在给定字节数组上标记水印的代码 (仅适用于我的pdf文档) /** * Returns the same document with the watermark stamped on it. * @param documentBytes Byte array of the pdf which is going to be returned with the watermark * @return byte[] with the same byte array provided but […]

如何使用jasper以pdf格式从jsp生成报告

在我的应用程序中,我可以连接到数据库并获取数组结果集并使用JSP代码我可以遍历数组并可以使用HTML在我的网页中显示报告。 我希望HTML网页中生成的报告可以PDF格式导出并保存在某些.pdf文件中。 请告诉我如何实现这种技术来实现这种输出技术。

iText setRotateContents(false)在Landscape PDF上的奇怪行为?

我已经连接了几个PDF文件,其中一些是横向的。 我现在正在标记最终PDF的每一页。 我已经意识到不使用setRotateContents(false)会导致您的修改在-90度添加到您期望的位置。 除了我的一些风景页面实际上正确地将修改在这个阶段定位在0度。 如果我使用setRotateContents(false)那么所有这些修改都会顺时针旋转90度,这意味着我在横向页面上的大多数页面修改现在都在0度正确,但我的一些横向页面现在处于+90度。 问题是我无法解决导致我的网页出现这种奇怪行为的原因? 他们都使用非常相似的代码来生成报告。 以前有没有人见过类似的问题?

从PDF中提取不可选择的内容

我正在使用Apache PDFBox从PDF文件中提取页面,我找不到提取不可选内容(文本或图像)的方法。 使用可从PDF文件中选择的内容,没有问题。 请注意,有问题的PDF对复制内容没有任何限制,至少从我在文档的“文档限制摘要”中看到的内容:它们都允许“内容复制”和“内容复制可访问性”! 在同一PDF文件中,有可选择的内容和不可选择的其他部分。 所发生的是,提取的页面带有“洞”,即它们只有PDF的可选部分。 但是在MS Word上,如果我将PDF添加为对象,则会显示PDF页面的全部内容! 所以我希望对PDFBox lib或任何其他Java lib做同样的事情! 这是我用来将PDF页面转换为图像的代码: private void convertPdfToImage(File pdfFile, int pdfId) throws IOException { PDDocument document = PDDocument.loadNonSeq(pdfFile, null); List pdPages = document.getDocumentCatalog().getAllPages(); for (PDPage pdPage : pdPages) { BufferedImage bim = pdPage.convertToImage(BufferedImage.TYPE_INT_RGB, 300); ImageIOUtil.writeImage(bim, TEMP_FILEPATH + pdfId + “.png”, 300); } document.close(); } 有没有办法从这个Apache PDFBox库(或任何其他类似的库)中提取PDF中的不可选内容? 或者这根本不可能? 如果确实不是,为什么呢? […]

使用java api和epass2003令牌的pdf数字签名

我尝试使用java api为pdf添加数字签名,并通过epass2003令牌读取签名。 所以,在这里我完成了这项工作(将数字签名添加到pdf中),并且工作正常,但是当我在另一个系统中打开此pdf文档时,它显示“Atleast one signature has problem”,在我的系统中正确validation符号请帮助我已经附上了我的代码,请找到它。 public class Test { public static void main(String args[]) throws IOException, GeneralSecurityException, DocumentException, CertificateVerificationException{ // Create instance of SunPKCS11 provider String userFile = “C:/results/test.pdf”; String userFile_signed = “C:/results/test_signed.pdf”; String pkcs11Config = “name=eToken\nlibrary=C:\\Windows\\System32\\eps2003csp11.dll”; java.io.ByteArrayInputStream pkcs11ConfigStream = new java.io.ByteArrayInputStream(pkcs11Config.getBytes()); sun.security.pkcs11.SunPKCS11 providerPKCS11 = new sun.security.pkcs11.SunPKCS11(pkcs11ConfigStream); java.security.Security.addProvider(providerPKCS11); // Get provider KeyStore and […]

在HTTP请求中创建的PDF将无法在Internet Explorer中打开

我有servlet根据请求中的一些参数动态生成PDF到响应。 当我尝试在IE中打开/下载此文件时,我收到以下消息: “无法从[site]下载[filename]。无法打开此Internet站点。请求的站点要么不可用,要么找不到。请稍后再试。” 这是我设置的响应: response.setHeader(“Content-Disposition”, “attachment;filename=” + title + “.pdf”); response.setContentType(“application/pdf”); 其他浏览器一切正常。 更新: 我尝试过内联而不是附件。 这将打开一个新窗口而不是打开/保存对话框(我希望有对话框),错误消息消失了,但新窗口在IE中只是空的。 仍在使用其他浏览器。 我试过简单,双重,没有引号围绕文件名,不包含任何未转义的字符。 双重和没有引号没有区别,但单个文件附加到文件名,我当然不想要。 文件名不包含未转义的字符。 我已经检查了这个页面上的测试,它表示所有浏览器都会传递带有文件名,没有引号的附件 。 这是从一开始就使用的。 添加Content-Lenght标头没有区别。 顺便说一句,飞碟用于制作PDF。

Android:在android中的Web视图中显示pdf从服务接收的字节

我收到的数据字节就像 JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nNVZyY7jNhC991foHCBOVXERBQQBJFu+D9BAfiALkEOAzGV+f15Ra2shqaQz6IFhWzJp8tX+WKIbV19e/qmo+pFw6VnwWTf6+fn36tcfqr/joL4+//nSvb44fwtVze7mq9ffqp+eXDFVr3/8TDy+hAxZcuSpxl3AXYOrFvcdrpju+H7gyuG7pydmeHL4I7OwwZdlvdHRhv0vr3+99K8vnw5BkL3JCYjpdSfPgMGBG2zm5uVbAGhx4fHucH/H+5HazEMlTdlmQG655ycTWdGBTli1AdXgApqYJZ7gbH8Xs/mfHSCKaqUVj18zuvGBb+4S3BA3rqORsOU5NBjTMa/n446SYGoqNZSEuH0nDZaGgegprW4hHcb9BGMGd5fBjIPnXNOQC/i8oKG30OgOGMvdBGg9xy+zyOssmDU5zho0Ngna1qVmlQ7msTMwEpgp6qoWw608YMhRmwIDcwcgfQyVa1o0HpmiLAZr3gf/DE8hDNuNEHrpkxuLLTWf5pLFdyAb5Fz50Grr5IYkOUnlqZZNLeIautUZ1NNrcLqV9xtYCKrrY9JSCZroeNFeuHvgOzMb0cuH8SSYC3uzSYKvm5stA7/Kt/dSUYAtqBMeh7yGeBKcz3nDBK2VbgfwLi3KFsIXvwd5cFBjQh8AltwUn6XmnHwkINQ6OGQnD9XKNQ1t/50EZ93NXAMXDdBCEWOl3moluZ0p9I2YA5+DIZILMpfiP43wC6o1m1WmmCDWYiy9MVgDCXqMJGjKWCiHYlaN/5Re556JZMOZTCkl2KbZ0Y67AoOYJqZpJHLjYvLuBqgH4xSr+izMfob+glI6ior7UaAktLrOVvW3MZewkqb7spiz3mWJ2BX30CKhxU+reBcrsxk4j8RAiGOaaHfzVo6hm8xkrcQZOJxJkhTd2V31/yjOYE2pM5TGP7hz 这个字节与pdf有关。 和String无法存储这么多数据。 所以我使用stringbuffer来存储它。 但是stringbuffer也无法存储。 所以如何存储这些收到的数据。 如何转换此字节并在Web视图中显示。 更新: 我使用以下代码。 byte[] decodedString = Base64.decode(ByteCode.toString()); wv.loadData(decodedString.toString(), “application/pdf”, “utf-8”); 其中ByteCode是一个类型StringBuffer,用于保存服务的响应字节码。