首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ABCpdf 5编码问题(特殊字符)

ABCpdf 5编码问题(特殊字符)
EN

Stack Overflow用户
提问于 2011-12-30 11:23:44
回答 2查看 3.7K关注 0票数 1

我正在使用ABCpdf版本5,以便将一些html页面呈现到PDF中。

我基本上使用HttpServerUtility.Execute() -方法来检索pdf的html:

代码语言:javascript
运行
复制
System.IO.StringWriter writer = new System.IO.StringWriter();
server.Execute(requestUrl, writer);
string pageResult = writer.ToString();

WebSupergoo.ABCpdf5.Doc pdfDoc = new WebSupergoo.ABCpdf5.Doc();
pdfDoc.AddImageHtml(pageResult);

response.Buffer = false;
response.ContentType = "application/pdf";
response.AddHeader("Content-Disposition", "attachment;filename=MyPdf_" + 
    FormatDate(DateTime.Now, "yyyy-MM-dd") + ".pdf");
response.BinaryWrite(pdfDoc.GetData());

现在,一些特殊的人物,如乌姆卢特(乌姆卢特),被替换为一个空的空间。有趣的是,并不是所有的。我发现的是:在html页面中。

代码语言:javascript
运行
复制
`<meta http-equiv="content-type" content="text/xhtml; charset=utf-8" />` 

如果我把它解析掉,所有特殊字符都会正确地呈现出来。但在我看来这是个丑陋的黑客。

在早期,我没有使用HttpServerUtility.Execute(),但是我让ABCpdf调用URL本身:pdfDoc.AddImageUrl("someUrl");。在那里我没有这样的编码问题。

我还能试试什么呢?

EN

回答 2

Stack Overflow用户

发布于 2012-05-11 06:27:16

刚刚在ABCpdf 8中遇到了这个问题。

在代码中,检索HTML内容并将pageResult传递给AddImageHtml()。正如文档所说,

File://‘将此HTML保存到临时文件中,并使用“ABCpdf协议说明符”呈现该文件。

没有提到的是,临时文件是UTF-8编码,但编码没有在HTML文件中说明。

标签实际上设置了所需的编码,并解决了我的问题。

避免编码声明的一种方法是使用AddImageUrl()方法,我希望该方法能够从HTML中检测到HTML。

票数 5
EN

Stack Overflow用户

发布于 2013-07-10 20:48:05

编码元标记和AddImageURL方法可能对简单文档有所帮助,但在链式情况下则不然,在这种情况下,编码会在编码标记的情况下丢失。我遇到了这个问题(正如在最初的问题中所描述的--一些外国字符如umlauts会消失),并且看不到任何解决方案。我正在考虑完全摆脱ABCPDF,并将其替换为SSRS,它可以呈现PDF格式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8678936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档