我在Windows 7的谷歌浏览器中运行它之前没有注意到这个错误。在Internet Explorer中它没有引起注意,因为它使用的是Adobe Acrobat,但Chrome使用内置的PDF Viewer。 / p>
文字"你好,你好吗?"已成为"你好,?怎么样?是吗?"。
using pdfclownFonts = org.pdfclown.documents.contents.fonts;
private void DocumentTemplate(Document parmDocument)
{
PrimitiveComposer primitiveComposer = new PrimitiveComposer(page);
{
BlockComposer blockComposer = new BlockComposer(primitiveComposer);
pdfclownFonts::Font fontArial = pdfclownFonts::Font.Get(parmDocument, _fontArialRegularFilePath);
primitiveComposer.SetFont(fontArial, 26 /*[Font-Size]*/);
blockComposer.Begin(New RectangleF(5f, 5f, 500f, 30f), XAlignmentEnum.Left, YAlignment Enum.Top);
blockComposer.ShowText("Hello, How are you?");
blockComposer.End();
blockComposer.Flush();
}
}
然后我在http://sourceforge.net/p/clown/bugs/52/找到了这个错误报告。
所以我的问题是......
1)这只是Chrome的错误吗?
2)或者它只是一个PDFClown错误?
3)如果PDFClown错误,那么您是否知道估计时间是否会被修复?
感谢。
答案 0 :(得分:1)
Vadim在his answer中对此问题进行了精辟的解释,至少是one pdf.js' bug-tracking entry的主题。
简短的回答是PDF Clown生成完全合法的PDF文件(因此它们由Adobe Acrobat,基于Poppler的观众如Evince,甚至优秀的Ghostscript解释器正确呈现)。问题是这些PDF文件具有“锯齿状”的混合长度代码点,而这些代码点并不像Chrome那样不太成熟的观众正确处理。
为了避免这样的不便,PDF Clown将仅使用单长度编码(这是在0.2.0中解决的问题之一)。
更新2015年4月14日
我很高兴宣布the issue has been solved and committed to the project's repo。它将包含在下一版本(0.1.2.1和0.2.0)中;在此期间,您可以从指示的链接下载代码快照。