当前位置: 首页 > 知识库问答 >
问题:

使用c#[duplicate]导出PDF时无法设置字体和字号

颛孙飞鸾
2023-03-14

使用c#将数据导出为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个答案

蓟捷
2023-03-14

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

HTMLWorker曾经只打算将小片段转换成pdf语法。大多数人遇到的问题不是“bug”,而是范围限制。

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设置字体和字体大小,也可以使用ConverterProperty。

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

 类似资料:
  • 我正在尝试使用TypeScript项目导入 React 上的字体文件,但它无法将其识别为字体文件,而是将其视为模块 文件夹结构: 在我的index.tsx文件中,我导入了我需要的字体,并导出了字体常量: 我使用url-loader(我也尝试使用file-loader)。这是我的webpack.config.ts 这是我得到的错误: 此问题的原因可能是什么?

  • 这是classBinderData extends BaseAdapter的getView函数: public View getView(int position,View convertView,ViewGroup parent){代码> 添加一行:字体tf=Typeface.createFromAsset(vi.getContext(). getAsset(),"字体/Roboto_Thin.

  • 我的Java应用程序生成了一个填充JasperReports报表的pdf文件,但当我打开pdf文件时,它的字体总是“Arial”,在报表中设置为“DeJavu Sans”。 当我使用JasperReports函数导出到pdf文件时,一切正常(之后,我导入了DejaVu Sans的.ttf文件)。只有当我使用Java应用程序时,问题才会持续存在。 有人有同样的问题吗?

  • 我在使用Tomcat加载字体时有这样的错误: %1无法解码下载的字体:https://my-address.com/css/fonts/robotocondensed-bold-webfont.woff2 1 OTS分析错误:无法将WOFF 2.0字体转换为SFNT %1无法解码下载的字体:https://my-address.com/css/fonts/robotocondensed-regul

  • 本文向大家介绍设置字体时为什么建议设置替换字体?相关面试题,主要包含被问及设置字体时为什么建议设置替换字体?时的应答技巧和注意事项,需要的朋友参考一下 这是由于网站用户的浏览设备不同,可能并不支持或没有安装你所设置的字体。 这时候就会自动使用替换字体来对网页进行一个展示。 设置替换字体可以尽可能保证所有用户的浏览体验。

  • 问题内容: 我正在尝试使用在互联网上找到的字体,但是问题是我得到了带有“无法制作本机字体”的FC。 这是我的ListVIew的getView中的代码: 谁能告诉我为什么我可以使用自定义rom?您可以在这里获取它..文件是.ttf 问题答案: 字体文件由于某种原因损坏或不受支持。您可以将其拖放到SD卡上并从文件中加载,以确保资产没有问题。