簡體   English   中英

使用Itext的HTML到PDF(復選框,單選)未呈現

[英]HTML to PDF using Itext (checkbox, radio ) not rendered

我們正在使用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。 Radio&Checkboxes或基本上HTML的任何輸入元素都不會呈現。 以下代碼

LicenseKey.loadLicenseFile(“ / Users / ashish / server-ws / workspac‌e / Test / lib / itextkey-‌0.xml”); HtmlConverter.convertToPdf(new File(HTML),new File(DEST));

除非您有充分的理由使用XMLWorker,否則建議您嘗試pdfHtml。 這是我們為iText7發布的插件,它支持HTML5和CSS3。

可以在iText網站上免費獲得試用許可證。 pdfHtml的下一個版本應該是AGPL許可和開源的(我們目前正在做一些最終的代碼清理)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM