【问题标题】:PowerPoint Print Page CountPowerPoint 打印页数
【发布时间】:2012-12-05 00:35:40
【问题描述】:

我正在尝试获取使用 PowerPoint Interop 打印整个文档时预期打印的页数(范围不适用)。

更具体地说,我正在寻求获取打印预览指示的页数因为这考虑了所有格式选项)。

例如:我有一个 48 张幻灯片文档,但打印时会生成 56 张图片。

我目前正在调用不带参数的 Printout() 方法。

【问题讨论】:

  • PowerPoint 每张幻灯片打印一张。我看不出如何从 48 张幻灯片演示文稿中获得 56 张图像(表格,您是说吗?),除非您正在打印由于大量注释文本而自动继续的注释页面,或者您正在查看显示 56 张幻灯片中的 48 张的幻灯片放映,因为其中一些幻灯片是隐藏的。或者您可能看到页码达到 56,但实际只打印了 48 页? PPT 允许用户更改起始页码,因此如果将其设置为 1 以外的值,您将获得与打印页数不匹配的页码。
  • @SteveRindsberg,基本上我想要获得的是打印预览中显示的页数(这表明它将打印 56 页)。在代码中,我应用了各种格式设置,因此打印带有注释的半页幻灯片和打印 cmet 作为单独的页面都可以应用,以任何组合方式。

标签: c# printing count powerpoint


【解决方案1】:

据我所知,没有办法直接获得您寻求的号码。打印由驱动程序处理,因此 vba 可能不知道它。

一个麻烦的解决方案可能是临时生成一个 xps 文件并计算其页数。虽然不完全优雅。另一种方法是根据每张幻灯片确定每张幻灯片的页数 - 在每张幻灯片上放置一个指示器作为幻灯片的属性 - 然后在第二步中通过在幻灯片上递增来计算它们。你可能会觉得这很有趣:http://officeone.mvps.org/vba/ppt_tags.html

【讨论】:

  • 打印是应用程序和驱动程序之间的对话。 VBA 可以设置应用程序的打印参数,但不知道结果是什么。类似于 XPS 的想法(可能更简单)是打印到设置为 File 的 Postscript 驱动程序。在文件的最后几行中,您会看到一条 PS 注释:%%Pages: XX XX is your answer。对于 XPS 文件,您必须将其打开(它是一个 zip)。无论您做什么,都要小心将 XPS 驱动程序设置为打印到文件。我在两个系统上都这样做了,现在 PPT 不会在其中任何一个上打印到 XPS。
  • 对于 excels,您可以在 api 的 Pagesetup 部分中获取要打印的页面的值 ..(工作簿的每个工作表)... 去挖掘他的 xps 看看是否这产生了我正在寻找的东西。
  • xps 文件创意无法为我提供正确数量的页面(应用格式化后),因为它按原样捕获文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-04
相关资源
最近更新 更多