使用c#导出PDF时无法设置字体和字体大小

时间:2018-01-17 12:27:37

标签: c# itext

使用c#.net

将数据导出为PDF时,无法设置字体和字体大小

我尝试了许多不同的方法,每次都失败了。请帮忙。

StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
htw.WriteBeginTag("p");
htw.Write(HtmlTextWriter.TagRightChar);
htw.Write("Summary Details");
htw.WriteEndTag("p");
htw.WriteBreak();

htw.WriteBeginTag("p");
htw.Write(HtmlTextWriter.TagRightChar);
htw.Write("Scrip Details");
htw.WriteEndTag("p");

gridCapitalGD.RenderControl(htw);

htw.WriteBreak();
htw.WriteBeginTag("p");
htw.Write(HtmlTextWriter.TagRightChar);
htw.Write("Transaction Details");
htw.WriteEndTag("p");
grdViewTranDetail.RenderControl(htw);

StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();

1 个答案:

答案 0 :(得分:2)

不要使用HTMLWorker。它已被弃用,并被XMLWorker取代。现在,它正在被弃用,并被pdfHTML取代。

HTMLWorker曾经只打算将小片段转换为pdf语法。大多数人遇到的问题都不是“错误”。但只是范围限制。

pdfHTMLiText7的小例子:

// IO
File htmlSource = new File("input.html");
File pdfDest = new File("output.pdf");

// pdfHTML specific code
ConverterProperties converterProperties = new ConverterProperties();
HtmlConverter.convertToPdf(new FileInputStream(htmlSource), new FileOutputStream(pdfDest), converterProperties);

您可以使用CSS设置字体和字体大小,或者,您可以使用ConverterProperties。

有关pdfHTML的信息,请查看 https://itextpdf.com/itext7/pdfHTML