Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# PowerPoint打印页面计数_C#_Printing_Count_Powerpoint - Fatal编程技术网

C# PowerPoint打印页面计数

C# PowerPoint打印页面计数,c#,printing,count,powerpoint,C#,Printing,Count,Powerpoint,我试图获取使用PowerPoint互操作打印整个文档时预期打印的页数(范围不适用) 更具体地说,我希望获得打印预览显示的页数(因为这考虑了所有格式选项) 例如:我有一个48张幻灯片文档,但当它打印时会生成56张图像 我目前正在调用Printout()方法,但没有参数。据我所知,无法直接获取您要查找的数字。打印由驱动程序处理,因此vba可能不知道它 一个麻烦的解决方案可能是临时生成xps文件并计算其页面数。但并不十分优雅。另一种方法是根据每张幻灯片确定每张幻灯片的页数—在每张幻灯片上放置一个指示器

我试图获取使用PowerPoint互操作打印整个文档时预期打印的页数(范围不适用)

更具体地说,我希望获得打印预览显示的页数(因为这考虑了所有格式选项)

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


我目前正在调用Printout()方法,但没有参数。

据我所知,无法直接获取您要查找的数字。打印由驱动程序处理,因此vba可能不知道它


一个麻烦的解决方案可能是临时生成xps文件并计算其页面数。但并不十分优雅。另一种方法是根据每张幻灯片确定每张幻灯片的页数—在每张幻灯片上放置一个指示器作为幻灯片的属性—在第二步中,通过在幻灯片上递增来计算页数。您可能会发现这很有趣:

PowerPoint每张幻灯片打印一张纸。我不明白如何从48张幻灯片演示文稿中获得56张图像(你的意思是纸张?),除非你打印的是由于大量笔记文本而自动继续的笔记页面,或者你看到的幻灯片显示56张幻灯片中的48张,因为有些幻灯片是隐藏的。或者你可能看到页数变为56页,但实际打印的只有48页?PPT允许用户更改起始页码,因此如果将其设置为1以外的值,您将得到与打印页数不匹配的页码。@SteveRindsberg,基本上我希望得到的是打印预览中显示的页数(显示它将打印56页)。在代码中,我应用了各种格式设置,因此打印带有注释的半页幻灯片和打印注释作为单独的页面都可以应用,可以任意组合。打印是应用程序和驱动程序之间的对话。VBA可以设置应用程序的打印参数,但不知道结果如何。类似于XPS的想法(可能更简单)是打印到设置为File的Postscript驱动程序。在文件的最后几行中,您将看到PS注释:%%Pages:XX是您的答案。对于XPS文件,您必须将其打开(这是一个zip文件)。无论您做什么,请小心将XPS驱动程序设置为打印到文件。我在两个系统上都这样做了,现在PPT不会在其中任何一个系统上打印到XPS。对于Excel,您可以在api的页面设置部分获取要打印的页面的值…(每个工作簿的工作表)。。。我将深入研究xps,看看它是否产生了我想要的内容。xps文件想法无法提供正确的页数(在应用格式化后),因为它按原样捕获文件。