【发布时间】:2011-03-10 15:37:44
【问题描述】:
itextsharp 的新手。我不确定这是否是正确的论坛;这是因为我将在下面描述的项目中涉及三个程序:silverlight 4、Amyuni 的 Silverlight 的 PDF 和 itextsharp 4。此外,我使用的是我在项目中获得的代码网络将 silverlight inkpresenter 转换为图像。这包括调用 png 编码器类的“可编辑图像”类。正如您在急于完成这项工作时所看到的那样,我发现了许多工具,其中任何一种都可能导致我的问题(将其翻译为意味着我错误地使用了一个或多个它们:-)。
我感觉这与我使用 itextsharp 保存 pdf 的方式有关,尽管我想到 pngencoder 可能与它有关。至少我可以看到它不会压缩它创建的 png。
我有一个项目,我使用 Amyuni 的 Silverlight 的 Pdf 将文件中的 pdf 加载到 silverlight inkpresenter。作为概念证明,我使用 Amyuni 将 pdf 的第一页带入演示者,使用 writeablebitmap 创建位图,将其传递给可编辑图像对象和上面提到的 png 编码器。然后将 png 流式传输到 httphandler,在其中 itextsharp 将其转换为 pdf。此 pdf 保存在数据库表中。我确保 pdf 的矩形具有与可写位图和可编辑图像创建的位图相同的尺寸。
然后我使用 Amyuni Pdf for Silverlight 将保存在数据库中的 pdf 读回给 inkpresenter。由于某种原因,加载的 pdf 比 pdf 文件中的原始页面大。字体更大,更少的 pdf 适合同一个 inkpresenter。我不确定,但似乎保存到数据库的 pdf 页面的尺寸比从文件加载到同一个 inkpresenter 时的尺寸要大。我怀疑这是我在使用 itext sharp 保存 pdf 页面时犯的一些错误。我在stackoverflow中看到过其他人经历过同样事情的帖子。我已经尽力通过谷歌搜索来解决这个问题,但不幸的是,考虑到我使用的所有不同类型的软件,很难确定这个问题。
Any advice would be appreciated.
图000
【问题讨论】:
-
如果可能,第一步是在所有步骤中保存文档的版本,并在项目上下文之外并排评估它们。是的,听起来您的像素尺寸正在改变。我在 itextsharp 上找到的小信息表明,当您创建新实例时,它会默认边距。如果您正在创建一个没有显式边距参数的新对象,然后将生成的 BMP 设置为页面上的 100% 大小,则可能会发生一些缩放。在重新渲染 PDF 之前,可能会在原始 BMP 的边缘画一个 1px 的边框,看看它是否正确注册。
标签: png itextsharp