gpt4 book ai didi

java - 使用 Itext(复选框、单选)未渲染的 HTML 到 PDF

转载 作者:行者123 更新时间:2023-12-02 02:51:33 25 4
gpt4 key购买 nike

我们正在使用 Itext 和 xmlworker 5.5.5 将 HTML 转换为 PDF。以下是代码。问题是我们无法看到 pdf 上呈现的单选按钮或复选框。复选框和单选框还需要哪些额外的东西?

cssStr - 包含所有 css 类。它的字符串。

        // step 1
Document document = new Document();
// step 2
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(destFile));
writer.setRunDirection(PdfWriter.RUN_DIRECTION_RTL);

// step 3
document.open();
// step 4 - Styles
CSSResolver cssResolver = new StyleAttrCSSResolver();
CssFile cssFile = XMLWorkerHelper.getCSS(new ByteArrayInputStream(cssStr.getBytes()));
cssResolver.addCss(cssFile);

XMLWorkerFontProvider fontProvider = new XMLWorkerFontProvider(XMLWorkerFontProvider.DONTLOOKFORFONTS);
fontProvider.register(OLTContext.getWebappDir()+"/bs/fonts/ARIALUNI.TTF", BaseFont.IDENTITY_H);
CssAppliers cssAppliers = new CssAppliersImpl(fontProvider);
HtmlPipelineContext htmlContext = new HtmlPipelineContext(cssAppliers);
htmlContext.setTagFactory(Tags.getHtmlTagProcessorFactory());

// Pipelines
PdfWriterPipeline pdf = new PdfWriterPipeline(document, writer);
HtmlPipeline html = new HtmlPipeline(htmlContext, pdf);
CssResolverPipeline css = new CssResolverPipeline(cssResolver, html);

// XML Worker
XMLWorker worker = new XMLWorker(css, true);
XMLParser p = new XMLParser(worker);
ByteArrayInputStream stream = new ByteArrayInputStream(printable.getBytes("UTF-8"));
p.parse(stream, Charset.forName("UTF-8"));

// step 5
document.close();

最佳答案

我还尝试了带有 pdfHtml 试用许可证的 itext 7。单选框和复选框或基本上任何 HTML 输入元素都不会被渲染。以下代码

LicenseKey.loadLicenseFile("/Users/ashish/server-ws/workspac‌​e/Test/lib/itextkey-‌​0.xml”); HtmlConverter.convertToPdf(新文件(HTML), 新文件(DEST));

关于java - 使用 Itext(复选框、单选)未渲染的 HTML 到 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43782301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com