Tag: itext7

来自HTML的iText 7可访问的PDF:当使用display:table时,如何避免表标记;

我正在开发一个ASP.NET MVC项目,它将视图转换为PDF。 以前使用Rotavia,但新的客户要求是PDF可访问/ 508兼容。 出于布局目的,以前的开发人员有一个完整的标题部分(徽标,标题,免责声明等)作为没有元素的表(只是td)。 我需要将它们转换为div,但看起来保持不变。 所以,我所做的是使它们成为div,然后使用CSS属性,display:table,display:table-row-group,display:table-row,display:table-cell。 它看起来几乎完全相同。 问题是,即使它们现在是div,也使用iText DefaultTagWorkerFactory,如下所示: ConverterProperties props = new ConverterProperties(); FontProvider fp = new FontProvider(); fp.AddStandardPdfFonts(); props.SetFontProvider(fp); var tagWorkerFactory = new DefaultTagWorkerFactory(); props.SetTagWorkerFactory(tagWorkerFactory); HtmlConverter.ConvertToPdf(html, pdfDoc, props); 它仍然将Div标签转换为table,tr和td标签。 显然,在div上使用display:table的整个目的是避免使用表但获得相同的布局效果。 为什么iText会实现这种行为,有什么方法吗? 如果没有,任何人都可以提供任何精确的CSS等效显示:table,display:table-row-group,display:table-row,display:table-cell,因为看起来iText只看到属性,“display:table”并使用table-tag。 我在自定义标记工作器工厂中尝试了以下操作,该工厂通过向我的div添加一个类“make-div”来inheritanceDefaultTagWorkerFactory,如下所示: public class AccessibilityTagWorkerFactory : DefaultTagWorkerFactory { public override ITagWorker GetCustomTagWorker(IElementNode tag, ProcessorContext context) { var attributes = tag.GetAttributes(); var […]

从文档大纲(书签)中获取页码

我正在使用itext7库来操作一些现有的PDF。 出于某种原因,我无法从大纲中获取页码。 我想我应该以某种方式从PdfDestination中获取它,但在其任何子类中都找不到任何匹配的方法。 PdfDocument pdfDoc = new PdfDocument(new PdfReader(“example.pdf”)); var root = pdfDoc.GetOutlines(false); foreach (PdfOutline ol in root.GetAllChildren()) { Console.WriteLine(ol.GetTitle()); PdfDestination d = ol.GetDestination(); // how to get the page number from the destination object } 在iText5中,我使用了SimpleBookmark.GetBookmark(reader) ,它返回了包含“Page”条目的词典列表 – 但这个function似乎已在iText7中删除了。 编辑:我看了一下Github上的PdfExplicitDestination.getDestinationPage()的Net实现(对于java来说是一样的。我不明白这个方法的参数的用途。如果我传入null,它似乎只适用于pdf使用ToString()在大纲层次结构中使用一个级别。通过工作我的意思是它将零索引页码作为字符串返回。对于PDF代码,它找不到页码(对于第一级别)。 PdfDocument pdfDoc = new PdfDocument(new PdfReader(“example.pdf”)); var root = pdfDoc.GetOutlines(); foreach (PdfOutline ol in […]

如何使用模板和数据库数据创建模板并生成pdf iText C#

我想使用iText7完成以下任务。 使用HTML或..创建模板(某些字段可以根据用户输入隐藏) 使用数据库数据填充模板 生成可访问的pdf 我怎样才能做到这一点?

iText7将PDF转换为图像

请让我知道在iText7中可以使用什么方法将pdf转换为图像。 在Itexsharp中,有一个选项可以将pdf文件转换为图像。 以下是链接。 PDF到图像使用iTextSharp http://www.c-sharpcorner.com/UploadFile/a0927b/create-pdf-document-and-convert-to-image-programmatically/ 以下是使用以下引用链接创建的示例代码。 itext7 pdf to image这没有按预期工作。 它不是将pdf转换为图像。 它正在创建一个1kb的空白图像。 string fileName = System.IO.Path.GetFileNameWithoutExtension(inputFilePath); var pdfReader = new PdfReader(inputFilePath); var pdfDoc = new iText.Kernel.Pdf.PdfDocument(pdfReader); int pagesLength = pdfDoc.GetNumberOfPages()+1; for (int i = 1; i < pagesLength; i++) { if (!File.Exists(System.IO.Path.Combine(imageFileDir, fileName + "_" + `enter code here`(startIndex + i) + ".png")) && i […]