将PDF转换为HTML文件的Java API

16

我希望用Java应用程序将PDF文件转换为HTML文件。 PDF文件包含一些图像、文本等。 有人知道一个好的Java API吗?(请不要建议使用Aspose)。 我尝试过Apache PDFBox,但不满意。


2
我不能建议一个库,但是一些一般性的建议:PDF 转 HTML 不是一件简单的事情。它们是两种非常不同的格式,任何转换都将严重依赖于 PDF 的质量和结构。仅仅提取正确顺序的文本就可能很棘手,更不用说格式和布局了。通常,手动转换将是最好的实际解决方案。也许更全面的了解情况会有助于提供更详细的帮助:有多少个 PDF?你自己制作了吗?或者一般地说:你为什么需要这样做? - RoToRa
5个回答

10

CSSBox Pdf2Dom是一个Java库,可以将PDF转换为HTML(除其他功能外)。发行版甚至包含基于此库的PDFToHTML命令行工具,因此您可以检查结果是否符合您的需求。但是,如上所述,将PDF转换为HTML始终很棘手。结果取决于特定PDF文件的复杂性和结构,因此不同的工具可能适用于不同的PDF文件。


5
供未来搜索PDF2Dom的用户参考:该工具功能良好,但使用绝对定位技术生成HTML输出。这意味着它非常擅长复制内容的外观,但如果您希望以编程方式处理输出内容,则并不理想。 - Raman

2

请查看

JPedal,它对嵌入式字体处理得非常好,但需要付费。

IcePDF,它是免费的,但据我所知只能提取文本/图像或将PDF渲染为图像。

public class QHyperArticleHtmlBuilder extends QHtmlBuilder {
    QStyle anchorStyle = createStyle("anchorStyle", a);
    QStyle sectionStyle = createStyle("sectionStyle", div);
    QStyle subsectionStyle = createStyle("subsectionStyle", div);
    ...    
    public String buildSubSectionHeading(String anchorName, String text) {
        return buildAnchorHeading(subsectionStyle, anchorName, text);
    }

    protected String buildAnchorHeading(QStyle divStyle, 
            String anchorName, String text) {
        QMutableElement element = create(p);
        element.add(br);
        element.add(create(a, anchorStyle, name.create(anchorName)))
        .add(create(div, divStyle, text));
        return element.buildHtml();
    }

    public String buildLink(String url, String label) {
        QMutableElement element = create(a, anchorStyle, href.create(url));
        element.add(create(span, underlineStyle))
        .add(create(span, linkStyle, label));
        return element.buildHtml();
    }
}


pre.javaStyle {
  font-family: courier new, courier, mono;
  background-color: #fbfbfb;
  font-size: 11pt;
  width: 800px;
  border: dashed 1px;
  border-color: lightgray;
  padding-left: 4px;
}

资源 这里



谢谢回复。我想要一个开源API(不是付费的)。我没有考虑Aspose API,因为它不是免费的。 - user3505725

1
试试我们的Java库称为jPDFWeb,它可以保留原始PDF中的字体和图像分辨率。您可以上传自己的PDF并尝试在线演示。

https://www.qoppa.com/pdfhtml/


0
您可以尝试使用Print2Flash:www.print2flash.com。它不仅可以将PDF转换为HTML,还可以将其他类型的文档(如Office文档、AutoCAD图纸等)转换为HTML。它解决了我们公司网站所有文档发布需求的问题。

-1

3
不要仅仅在回答中贴上链接,加入一些文字解释,说明这个答案如何帮助OP解决当前的问题。谢谢。 - ρяσѕρєя K
提供一个API链接,但该链接无法使用或没有文档。 - vivekmore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接