将PDF转换为HTML,保持布局

时间:2010-05-08 13:36:30

标签: html pdf

有哪些方法可以将PDF转换为HTML?它可以是任何东西 - 在线服务,软件,图书馆。 (Opensource首选。在最后一种情况下,php或python将是首选。)它必须保持原始布局(包括页码,脚注等),保留图像(将它们组合到每页一个背景图像是可以接受的)并保持链接。它最好输出有效的XHTML并清理连字等PDF功能,但如果需要进行一些后期处理,我可以忍受。具有干净,相对语义的HTML输出的东西会很棒。

我找到的最接近的是zamzar.org,但它在链接上窒息。 (此外,HTML输出是绝对定位的div的丑陋堆,并且由于编码问题需要后处理。)

5 个答案:

答案 0 :(得分:2)

我使用iText库,我发现解析PDF结构很好(我用它来搜索文本)。 它是一个解析PDF并从中创建对象模型的库,因此您需要对HTML生成器进行编码,但这应该不会太困难。

答案 1 :(得分:2)

使用PDFtoHTMLEx处理PDF,生成像素完美的表示HTML标记(定位div)。

要获取语义HTML,您可以使用transcript.py(我是作者)来处理文档。这产生语义HTML,包括标题,段落,列表和数据表。请记住标记是重构的(未提取),因为python代码正在寻找视觉设计约定并根据布局决定。结构标签和语义信息通常不存在于PDF中。

答案 2 :(得分:1)

几年前我使用的是ABBYY PDF Transformer,这对于简单的文档来说很不错

答案 3 :(得分:1)

答案 4 :(得分:1)

我知道两个选择。两者在外观上看起来非常相似,但是输出肯定不是语义上的。

Python:PyMuPDF

安装PyMuPDF:pip install pymupdf

import fitz

def to_html(filepath: str):
    doc = fitz.open(filepath)
    for i, page in enumerate(doc):
        text = page.getText("html")
        with open(f"pymupdf-page-{i}.html", "w") as fp:
            fp.write(text)
    doc.close()

pdftohtml

在debian源码(this one)之内

pdftohtml -c