使用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();
答案 0 :(得分:2)
不要使用HTMLWorker
。它已被弃用,并被XMLWorker
取代。现在,它正在被弃用,并被pdfHTML
取代。
HTMLWorker
曾经只打算将小片段转换为pdf语法。大多数人遇到的问题都不是“错误”。但只是范围限制。
pdfHTML
和iText7
的小例子:
// 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