小编Rob*_*Rob的帖子

iTextSharp HTMLWorker ParseHTML Tablestyle和PDFStamper

您好我已成功使用HTMLWorker使用asp.NET/C#转换gridview.

(1)我已经对结果表应用了一些有限的样式,但是无法看到如何将tablestyle应用于实例网格线或应用其他格式样式,例如特定列的大列宽.(2)我实际上想把这个文本放到一个包含徽标等的预先存在的模板上.之前我曾使用过PDF Stamper,但是看不出我如何同时使用PDFStamper和HTMLWorker.HTMLWorker需要一个实现iDocListener的Document ......但这似乎与使用PDFStamper兼容.我想我要找的是一种创建PDFStamper,写标题等的方法,然后从网格中添加解析后的HTML.另一个问题是解析的内容不与页面上的其他内容交互.例如下面我向页面添加一个标题块.解析的HTML不是从它下面开始,而是在顶部写入.如何将已解析的HTML内容与PDF文档中的其余内容进行放置/交互?

在此先感谢Rob

这是我已经拥有的代码

            Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 30f, 0f);

            HTMLWorker htmlWorker = new HTMLWorker(pdfDoc);

            StyleSheet styles = new StyleSheet();
            styles.LoadTagStyle("th", "size", "12px");
            styles.LoadTagStyle("th", "face", "helvetica");
            styles.LoadTagStyle("span", "size", "10px");
            styles.LoadTagStyle("span", "face", "helvetica");                
            styles.LoadTagStyle("td", "size", "10px");
            styles.LoadTagStyle("td", "face", "helvetica");     

            htmlWorker.SetStyleSheet(styles);

            PdfWriter.GetInstance(pdfDoc, HttpContext.Current.Response.OutputStream);

            pdfDoc.Open();

            //Title - but this gets obsured by data, doesnt move it down
            Font font = new Font(Font.FontFamily.HELVETICA, 14, Font.BOLD);
            Chunk chunk = new Chunk(title, font);                
            pdfDoc.Add(chunk);


            //Body
            htmlWorker.Parse(sr);
Run Code Online (Sandbox Code Playgroud)

c# asp.net itextsharp

2
推荐指数
1
解决办法
4万
查看次数

标签 统计

asp.net ×1

c# ×1

itextsharp ×1