PDFSharp 是否可以像 iTextSharp 一样生成PDF文件*考虑HTML格式*? (粗体(强),间距(br)等)

以前,我使用iTextSharp并以这种方式大致处理(以下代码):

 string encodingMetaTag = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />";
 string htmlCode = "text <div> <b> bold </ b> or <u> underlined </ u> <div/>";

 var sr = new StringReader (encodingMetaTag + htmlCode);
 var pdfDoc = new Document (PageSize.A4, 10f, 10f, 10f, 0f);
 var = new HTMLWorker htmlparser (pdfDoc);
 PdfWriter.GetInstance (pdfDoc, HttpContext.Current.Response.OutputStream);
 pdfDoc.Open ();
 htmlparser.Parse (sr);
 pdfDoc.Close ();

合并到适当的HTML表单中的类对象HTMLWorker处理的PDF文档中。 PDFSharp是否具有类似的解决方案

最佳答案

我知道这个问题很旧,但这是一种干净的解决方法...
您可以结合使用HtmlRendererPDFSharp来完成此操作:

Bitmap bitmap = new Bitmap(1200, 1800);
Graphics g = Graphics.FromImage(bitmap);
HtmlRenderer.HtmlContainer c = new HtmlRenderer.HtmlContainer();
c.SetHtml("<html><body style='font-size:20px'>Whatever</body></html>");
c.PerformPaint(g);
PdfDocument doc = new PdfDocument();
PdfPage page = new PdfPage();
XImage img = XImage.FromGdiPlusImage(bitmap);
doc.Pages.Add(page);
XGraphics xgr = XGraphics.FromPdfPage(doc.Pages[0]);
xgr.DrawImage(img, 0, 0);
doc.Save(@"C:\test.pdf");
doc.Close();

有人报告说,最终图像看起来有些模糊,这显然是由于自动消除锯齿所致。这是有关如何解决此问题的帖子:http://forum.pdfsharp.com/viewtopic.php?f=2&t=1811&start=0

关于c# - 根据HTML代码生成PDF(iTextSharp,PDFSharp?),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7597103/

10-09 07:44