将 PDF 转换为 HTML 文件 Java API

2022-09-04 22:21:51

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


答案 1

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


答案 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;
}

此处的资源