标签: pdf-parsing

PDF交叉参考流

我正在开发一个PDF解析器/编写器,但我坚持生成交叉引用流.我的程序读取文件,然后删除其线性化,并解压缩对象流中的所有对象.最后,它构建PDF文件并保存.

当我使用正常的交叉引用和预告片时,这非常有效,正如您在文件中看到的那样.

当我尝试生成交叉引用流对象时(导致文件,Adobe Reader无法查看它).

有没有人使用PDF,可以帮助我搜索问题所在?

请注意,交叉引用是文件2和文件3之间的唯一区别.前34127个字节是相同的.

如果有人需要解码参考流的内容,请下载文件并在HEX编辑器中打开它.我一次又一次检查了这个参考表,但我找不到任何错误.但字典似乎也没问题.

非常感谢你的帮助!!!

更新

我现在已经彻底解决了这个问题.您可以在此处找到新PDF .

pdf pdf-generation pdf-parsing

5
推荐指数
1
解决办法
6515
查看次数

防止Jsoup.parse删除结束</ img>标记

我正在使用Jsoup.parse解析一段html.

其他一切都很棒,但我应该稍后在pdf转换器中解析这个HTML.

由于某种原因,Jsoup.parse删除了结束标记,而pdf-parser抛出了关于缺少关闭img标记的异常.

Can't load the XML resource (using TRaX transformer). org.xml.sax.SAXParseException; 
lineNumber: 115; columnNumber: 4; The element
type "img" must be terminated by the matching end-tag "</img>"
Run Code Online (Sandbox Code Playgroud)

如何防止Jsoup.parse删除关闭的img标记?

例如这一行:

<img src="C:\path\to\image\image.png"></img>
Run Code Online (Sandbox Code Playgroud)

转向:

<img src="C:\path\to\image\image.png">
Run Code Online (Sandbox Code Playgroud)

同样的情况:

<img src="C:\path\to\image\image.png"/>
Run Code Online (Sandbox Code Playgroud)

这是代码:

private void createPdf(File file, String content) throws IOException, DocumentException {
        OutputStream os = new FileOutputStream(file);
            content = tidyUpHTML(content);
            ITextRenderer renderer = new ITextRenderer();
            renderer.setDocumentFromString(content);
            renderer.layout();
            renderer.createPDF(os);
        os.close();
    }
Run Code Online (Sandbox Code Playgroud)

这是上面方法中调用的tidyUpHTML方法:

private String tidyUpHTML(String html) {
    org.jsoup.nodes.Document doc = Jsoup.parse(html);
    doc.select("a").unwrap();
    String fixedTags …
Run Code Online (Sandbox Code Playgroud)

java html-parsing pdf-parsing jsoup

4
推荐指数
1
解决办法
2067
查看次数

在Node.js中解析PDF

我正在使用流星反应将PDF文档上传到我的Node.js后端,在这里我想以json或其他方式读取上传的PDF文档。可能吗?您会为此推荐什么库/工具?谢谢!

pdf-parsing node.js

4
推荐指数
1
解决办法
9904
查看次数

从PDF中提取表格

我想从pdf 文档中提取一个表

我尝试了pdf的路线 - > html - >提取表.转换为html时我上面提到的pdf产生垃圾,可能是因为字体,文件不是英文的.

因为这样的解决方案需要从URL上面提到的,这将有表,但不总是在相同的位置未来的PDF工作用x提取PDF和y坐标是不是一种选择.

请帮忙,

提前致谢.

python pdf pdf-parsing

3
推荐指数
1
解决办法
7715
查看次数

使用ghostscript检查PDF是否具有透明对象

PDF可以在几个部分中定义透明度(参见此处):

作为图形样式属性:

  • 将opacity(/ca)或stroke opacities(/CA)填充到1.0以下
  • 软面具的定义(\SMask)

或者使用透明度页面组(/S /Transparency)的定义.

以下grep表达式是对此的快速(和脏)检查:

grep -aE -e '/[Cc][Aa] +0?\.[0-9]' -e '/SMask' -e '/S /Transparency' *.pdf
Run Code Online (Sandbox Code Playgroud)

是否可以检查是否有透明物体gs

pdf transparency ghostscript pdf-parsing

3
推荐指数
1
解决办法
1496
查看次数

使用 pdftohtml poppler 实用程序将多页 PDF 转换为单个 html 文件

我正在使用 poppler 实用程序将 PDF 文档转换为 HTML。但它为每个页面创建单独的 html 文件,但在将 pdf 转换为 html 后我想要一个单独的 HTML 文件。

我使用了以下语法:

pdftohtml -c abc.pdf
Run Code Online (Sandbox Code Playgroud)

但它创建了 abc-1.html、abc-2.html、.... 等

我也尝试过 pdftohtml -c abc.pdf abc.html但没有得到预期的输出。

谁能告诉如何在单个文件而不是多个 html 文件中获取 html 输出?

poppler pdf-to-html pdf-parsing

3
推荐指数
1
解决办法
2512
查看次数

Perl PDF逐行解析?

我有一个pdf,只包含文本,没有特殊字符或图像等.是否有任何Perl模块(看cpan无济于事)帮我逐行解析每个页面?(将PDF转换为文本会产生错误结果和不可解析的数据)

谢谢,

pdf perl pdf-parsing

2
推荐指数
1
解决办法
936
查看次数

如何在itextSharp中检测表启动?

我想将pdf转换为csv文件.pdf文件具有表格格式的数据,第一行作为标题.我已达到可以从单元格中提取文本的级别,比较表格中的文本基线并检测换行符,但我需要比较表格边框以检测表格的开始.我不知道如何检测和比较PDF中的行.谁能帮我?

谢谢!!!

csv pdf itextsharp pdf-parsing pdf-reader

2
推荐指数
2
解决办法
3260
查看次数

如何使用iText解析未标记的pdf文件

我想用iText 解析这个文件(http://www.bbm.ca/_documents/top_30_tv_programs_english/2011/nat01032011.pdf).问题是它没有被标记,所以我无法获取XML文件.我决定从中提取文本,我认为例如第一行将是:

1\specialCharWJC:PLAYOFFS CANADA\specialCharTSN+\specialCharM.W....\specialChar19:30\specialChar21:57\specialChar5133
Run Code Online (Sandbox Code Playgroud)

我为第一行提取的文字是

1 WJC:PLAYOFFS CANADA TSN+ M.W.... 19:30 21:57 5133
Run Code Online (Sandbox Code Playgroud)

我使用以下方法提取文本:

PdfReader reader = new PdfReader(filename);
String str = PdfTextExtractor.getTextFromPage(reader, 1);
Run Code Online (Sandbox Code Playgroud)

PDf观众如何知道加拿大在第二列不在第三列.

我目前的解决方案是使用http://www.idrsolutions.com/online-pdf-to-html5-converter/将pdf文件转换为html5 ,后者可以确定每列的文本.

感谢您的答复

java pdf itext pdf-parsing

2
推荐指数
1
解决办法
1055
查看次数

解码 PDF 文档中的 FlateDecoded 文本部分

使用peepdf我正在分析两个简单的 pdf 文件。这两个文件都包含一行文本(“ZYXWVUTSRQQRSTUVWXYZ”)并且是在 Mac OS X 上创建的。

第一个文件是用 TextEdit 创建的。只有三个流,看第一个(用peepdf自动解码)可以清楚地显示文本。

PPDF> stream 4

q Q q 72 707.272 468 12.72803 re W n /Cs1 cs 0 sc q 0.9790795 0 0 -0.9790795 72 720
cm BT 0.0001 Tc 11 0 0 -11 5 10 Tm /TT1 1 Tf (ZYXWVUTSRQQRSTUVWXYZ) Tj ET
Q Q
Run Code Online (Sandbox Code Playgroud)

第二个文件是用 MS Word 创建的。有四个流,但无法找到解码的文本。查看 Word 文档中的相应流不会显示解码的字符串:

PPDF> stream 4

q Q q 18 40 576 734 re W n /Cs1 cs 0 0 0 sc …
Run Code Online (Sandbox Code Playgroud)

pdf ms-word deflate pdf-parsing textedit

2
推荐指数
1
解决办法
4017
查看次数

在python中解析PDF形状数据

我正在尝试编写一个脚本来修复 PDF,这些 PDF 是通过 Autocad 的 DWG2PDF 打印驱动程序导出的大量 PDF。

使用此驱动程序时,所有 SHX 字体都呈现为形状数据而不是文本数据,但它们确实会在 PDF 的预期位置和预期文本中插入注释。

到目前为止,在我的脚本中,我已经让它运行整个 PDF 并在每个部分的顶部插入隐藏文本,并将文本压缩到评论的大小,这让我完成了 90% 的工作,并为我提供了一个文档可搜索。

不幸的是,评论区域的大小相对较粗(基于整数),这使得很难准确确定短文本的方向,并导致文本周围的框大小不均匀。

我想要做的是解析 PDF 中的形状数据,收集注释范围内的所有内容,然后确定一个更小、更准确的边界框。然而,我能找到的所有信息都是人们试图解析文本数据,而我在形状数据方面根本找不到任何信息。

下图是 PDF 中原始文本的示例,第二张图显示了蓝色的注释边界框,红色文本是我设置为隐藏的内容,以使文档可搜索和复制/粘贴。通过将框缩小固定的边距,我可以让事情变得更好一些,但是对于小文本项目,注释框坐标数据的低分辨率会使事情变得混乱。

进度图片

为了实现这一目标,我使用了 PyPDF2 和 reportlab 的组合,但我愿意迁移到不同的库。

python pdf parsing pdf-parsing

2
推荐指数
1
解决办法
1407
查看次数

如何从PDF中提取书签?

当我在 PDF 查看器中打开 PDF 时,我会在实际文档的左侧看到一系列书签。那里显示的信息似乎并未成为文档实际内容的一部分:它没有打印出来,也没有出现在特定页面上。

如何使用 Java 提取这些书签?

java pdf pdf-parsing

1
推荐指数
1
解决办法
3964
查看次数