如何将PDF转换为HTML?[关闭]

How to convert PDF to HTML? [closed]

提问人:Luchian Grigore 提问时间:12/4/2011 更新时间:3/9/2021 访问量:48553

问:


我们不允许提出有关书籍、工具、软件库等建议的问题。您可以编辑问题,以便用事实和引文来回答。

去年关闭。

社群在上个月审查了是否要重新讨论这个问题,并关闭了这个问题:

原始关闭原因未解决

是否有合适的库可用于将 PDF 转换为 HTML 或其他可以轻松转换为 HTML 的格式?

我搜索了类似的问题,但没有运气。

我希望能够从 PDF 中提取文本,可能是图像。我不想将 PDF 嵌入到 HTML 中。

HTML PDF 文件转换

评论


答:

1赞 Samir Patel 3/9/2012 #1

是的,这绝对是可能的。 如果您在 ubuntu linux 上

apt-get install pdftohtml

然后

pdftohtml myFile.pdf myFile.htm -c -noframes

如果您想查看所有标志的含义,只需键入

pdftohtml

如果您不在 linux 上,您可以使用大量工具来实现这一点。

评论

7赞 yms 6/7/2012
方向错误,问题是关于pdf到html
2赞 eithed 12/8/2015
有点晚了,但从参数来看,OP的意思是pdftohtml
0赞 Paul Wintz 2/3/2022
看起来也可以通过 TeX Live 在 Windows 上使用:tug.org/texlivepdftohtml
0赞 Sergio Abreu 10/20/2023
您建议的命令会生成一个 HTML 文件,其中包含数千个 PNG,如此沉重,杀死了 Chrome
5赞 Siddharth Rout 6/7/2012 #2

就像我在上面的评论中提到的,绝对可以使用工具将pdf转换为html Able2Extract7 可以从这里下载

我已经使用这个工具将近 2 年了,我对它非常满意。此工具可让您将 PDF 转换为 Word、Excel、PowerPoint、Publisher、HTML、OO 等。看截图

enter image description here

注意:此工具不是免费软件。

HTH型

评论

1赞 Contango 2/20/2013
该工具擅长准确地将pdf转换为.html或.docx。我将它与 Calibre 一起使用,将 .pdf 文件预处理为 .html 或 .docx,因此它将在我的电子阅读器(Kindle 或 Sony)上正确呈现。
0赞 aercolino 8/9/2014
实际上,pdf.investintech.com 它们允许您在线将 PDF 转换为 HTML。我尝试了一篇研究论文,除了数学公式外,转换非常准确。但有一个缺点是它不是很聪明,这意味着,例如,每行都被包装成一个绝对定位的新 div。
2赞 Jay Croghan 11/2/2020
为什么在stackoverflow上对这个问题的每个回答几乎都像是付费解决方案的广告?
0赞 Siddharth Rout 11/2/2020
@JayCroghan 早在 2012 年,实际上还没有可靠的免费软件。
1赞 Jay Croghan 11/3/2020
@SiddharthRout,即使是现在,似乎也没有任何很棒的免费软件。
3赞 Sergio Muriel 11/24/2016 #3

下载

  • pdfbox-2.0.3.jar
  • 字体框-2.0.3.jar
  • 预检-2.0.3.jar
  • xmpbox-2.0.3.jar
  • pdfbox-tools-2.0.3.jar
  • pdfbox-调试器-2.0.3.jar

与 http://pdfbox.apache.org/ 相比

 import java.io.InputStream;
 import java.io.IOException;
 import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.pdfbox.tools.PDFText2HTML;

    // .....
    try {
        InputStream is = // ..... Read PDF file
        PDDocument pdd = PDDocument.load(is); //This is the in-memory representation of the PDF document.
        PDFText2HTML converter = new PDFText2HTML(); // the converter
        String html = converter.getText(pdd); // That's it!
        pdd.close();
        is.close();
    } catch (IOException ioe) {
        // ......
    }

请注意:图像不会被推送到 HTML 输出。

评论

0赞 Regis May 7/7/2019
这个库似乎工作得更好 - 但它会产生无效的、无法解析的 HTML。对于这样的Apache项目来说,这是相当令人失望的。
30赞 moof2k 11/28/2016 #4

如果您使用的是 Linux,请尝试:pdftohtml

sudo apt-get install poppler-utils
pdftohtml -enc UTF-8 -noframes infile.pdf outfile.html

在 MacOS(使用自制软件)上可以安装:pdftohtml

brew install pdftohtml

开源电子书转换器 Calibre 还可以将 PDF 文件转换为 HTML,可在 MacOS、Windows 和 Linux 上使用。

评论

7赞 Bjorn Reppen 11/9/2020
请注意,所有布局都将消失。
1赞 chovy 12/16/2020
有没有办法内联图像,这样我就不需要托管 jpg?
2赞 Gulshan Chaurasia 3/16/2021
@chovy提供 -dataurls 选项来生成内联图像,提供 -c 以在单独的 html 页面上生成复杂的 html,每页 pdf 的页面布局或多或少相同,我注意到每页上的图像和框和其他装饰被生成为用作背景的图像,而文本被提取并显示在背景图像的前面, 使布局或多或少相同,但有一些小的重叠,但是,结果非常有趣,示例使用:pdftohtml -dataurls -c pdf_file_with_bookmarks.pdf sample_output.html
0赞 chovy 8/15/2021
如何在 Arch 上安装?
0赞 Cerin 3/24/2023
Pdftohtml 实际上只从 PDF 中提取文本。删除了所有格式/字体/颜色,这使得该工具作为“转换器”相当无用。HTML 不仅仅是文本。不幸的是,Calibre 也做了同样的事情。
3赞 Kjk 6/9/2017 #5

将 PDF 转换为 HTML 并不难。有许多在线选项,但是,这些选项可能会将您的数据暴露给第三方。按照以下步骤操作,输出很棒。

  1. 打开PDF2HTMLEX页面。 (您可以按照我提到的后续步骤进行操作,也可以按照页面上的说明进行操作。

  2. 该软件包可从此处下载适用于 Windows 的软件包

    从许多可用的选项中,我建议下载“pdf2htmlEX-win32-0.14.6-upx-with-poppler-data.zip(pdf2htmlEx.exe 包含 UPX)”

  3. 下载和解压缩后,只需一个cmd命令即可进行转换。

    C:\Users\kjk\Downloads\pdf2htmlEX-win32-0.14.6-upx-with-poppler-data>pdf2htmlEX.exe c:\1\abc.pdf
    

    最终命令:

    pdf2htmlEX.exe c:\1\abc.pdf
    

    (您当然可以缩短文件夹的名称,但是,我将其保留为您在解压缩下载后看到的相同。我假设您可以将 cmd 中的目录更改为所需的文件夹,否则 Google 如何。

abc.pdf 将转换为 HTML,并将作为 abc.HTML 保存在与 exe 相同的文件夹中。

评论

0赞 ccpizza 3/9/2021
在 Mac 上,您可以使用brew install pdf2htmlEX
0赞 Rich 3/20/2023
或者使用 macports,它是sudo port install pdf2htmlex
0赞 okket 12/1/2023
仅供参考:pdf2htmlEX GitHub 存储库自 2018 年以来一直处于只读模式,它已经从自制软件中消失了,可能是因为编译它存在问题
-1赞 jfk 3/3/2021 #6

这是 Linux 和pdfgrepsed

sudo apt install pdfgrep

pdfgrep  .yourdoc.pdf | sed '/^$/d'| sed -e 's/^%%/<p>%%/'| sed -e 's/^--/<p>--/' | sed -e 's/--$/--<p>/'> yourdoc.html

要正确格式化,您需要使用 相应地指定正则表达式。sed