【问题标题】:characters missing when printing打印时缺少字符
【发布时间】:2012-08-15 20:33:57
【问题描述】:

我们有一个 WPF 应用程序,它可以执行报表预览或报表打印。 两个请求都使用相同的代码。

  • 调用从 Microsoft Report Services 获取报告的报告服务。
  • 将报告转换为所需的格式(在本例中为 PDF)。
  • 然后将报告作为字节数组返回。

然后将结果作为二进制流写入临时文件,然后弹出到窗口进行预览或启动进程进行打印。

在这两种情况下都会传递临时文件。

打印预览完美无缺!但是打印报告将打印所有出现的“ti”消失。我看到有一个 ESC t NUL/SOH 的打印机转义序列,我假设如果由于某种原因转义字符进入该流,则 ti 将导致打印序列被忽略。因此缺少字符。

我的第一个问题是,是否有人曾经使用生成的 PDF 报告遇到过这种情况?

我的第二个问题(显然)是是否有人知道我可以使用一个实用程序来查看正在打印的文件中的二进制数据,以查看每个“ti”序列之前文件中的内容?

【问题讨论】:

    标签: pdf printing


    【解决方案1】:

    经过大量搜索后,我在 Adob​​e 论坛上发现了一篇帖子,其中指出版本 8 存在无法打印字符组合的错误。一旦我深入挖掘,它似乎已经恢复,建议的解决方法解决了我们的问题。

    解决方法:打印为图像。

    Adobe 似乎无法完成他们的软件必须做的最基本的工作,打印确切的内容!

    【讨论】:

      【解决方案2】:

      回答您的第二个问题:

      • 首先,执行以下两项操作之一:
        1. 将 Windows 打印后台处理程序属性设置为不删除打印的作业。
        2. 暂停目标打印队列。
      • 然后,从 Windows printspool 目录中获取假脱机文件(您可以通过查看(右键单击)“打印机”的 'Properties...' 对话框找到该位置和传真文件夹)。

      【讨论】:

      • 我发现了一个位于mh-nexus.de/en/hxd 的文件十六进制查看器,它可以让我查看文件。
      • @SASS_Shooter:我的回答对你套索文件有帮助吗?
      • @SASS_Shooter:当然如果您尝试过,我的回答会帮助您套索文件!您的一个问题是:“...任何人都知道我可以使用一种实用程序来查看正在打印的文件中的二进制数据...”。但我知道这不一定能帮助您解决问题。
      • 实际上我确实使用了文件的查看和打印假脱机文件的套索。它帮助我查看了它,但没有解决问题。
      • y@SASS_Shooter:我们的问题是关于查看文件(暗示你只能查看二进制文件就可以解决问题)!
      【解决方案3】:

      我意识到这是一篇旧帖子,但我想从上述评论中添加一些更新信息,说明这是 Acrobat 8​​ 的问题。我们使用的是 Acrobat 10.1.6,但仍然有同样的问题。根据我的阅读,这是 adobe 产品本身的问题。我见过的唯一真正的解决方法(实际上是解决方法)是打印为图像。跛脚

      【讨论】:

        【解决方案4】:

        令人惊讶的是,这个错误在 2021 年仍然存在。不能依赖 Adob​​e 正确打印文档。如果它无法完成所需的最基本功能,这将带走它所拥有的所有功能的魅力。

        作为图像打印会降低质量并使文档模糊。

        只需使用 Safari 或 Chrome 打开文档并从那里打印。 E

        【讨论】:

          【解决方案5】:

          我在直接从 firefox(内部的 acrobat reader)打印时遇到了类似的问题。我下载了文件然后打印了。问题解决了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-12-22
            • 2017-06-13
            • 2021-01-24
            • 1970-01-01
            • 1970-01-01
            • 2011-04-30
            • 1970-01-01
            相关资源
            最近更新 更多