我正在try 将文件夹中的pdf文件打印到硬拷贝,以供用户使用.该pdf文件是好的,简单的标签页(附屏幕截图),程序运行良好,但如果我打印的pdf到一个文件,输出文件是一个空白的pdf,如果我打印到OneNote,它会给我以下信息.我已经下载并正在使用32版本的gswin32和gprint,但为了好玩,我也try 了64个版本,但都不起作用.如有任何帮助、建议、指导和指示,我们将不胜感激:

import os
import win32print
import win32api

currentprinter = win32print.GetDefaultPrinter()
print(currentprinter)
gspath = "gswin32.exe"
gsp_path = "gsprint.exe"

for i in os.listdir(r"C:\guis\Temppdffolder"):
    print(i)
    path = r"C:\guis\Temppdffolderf"+"\%s"%(i)
    win32api.ShellExecute(0, 'open', gsp_path, '-ghostscript "'+gspath+'" -printer "'+currentprinter+'" "%s"'%(path), '.', 0)

OneNote Message

simple pdf label sheet file

编辑:所以经过研究(感谢@kj),以及一些try 和错误,下面的作品为我打印了一个参考上面的脚本的pdf.我想把它加进go ,以防它对某人有帮助:

import os

os.startfile("downtime_labels.pdf", "print")

推荐答案

GSprint不是Ghost脚本的一部分,它是一个非常旧的商业应用程序,与一个名为Ghost Gum GSview的衍生查看器一起使用,该查看器在过go 的5版中被遗弃了很多年,不能与更新的安全版本的Ghost脚本一起工作.

为了安全地打印到现代打印机,理想情况下,您将使用(此时为10.02.0版)非商业性AGPL(或商业许可证)Ghost脚本或Ghost PCL Ghost XPS或主要的Ghost PDL

对于Windows,编程语法为GS或gswin##c.exe(其中##是32或64)

举个例子,"c:\path to\gswin32c.exe" [switches] [file1.ps file2.ps ...]

Note emphasis is on PS as intended input, but PDF is also handled exceptionally well.
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF

许多用于编程文件输出的switch 可以替换为图像的-oc:\Path\out.pdf或类似switch .

打印到设备有两种方法,一种是直接打印到打印机-sDEVICE=?另一种是通过MS系统-sDEVICE=mswinpr2,这可能是您在使用系统打印机名称时应该使用的系统打印机名称?

因此,您试图以编程方式使用Ghost脚本是不正确的.所以你需要复习https://ghostscript.readthedocs.io/en/latest/Use.html

附注:您似乎使用的是Avery5195EasyPeelReturnAddressLabels.pdf的变体,Avery有一个非常好的模板系统,可以从基于Word的邮件合并文档模板进行打印.

Python相关问答推荐

将列表中的元素替换为收件箱中的元素

从 struct 类型创建MultiPolygon对象,并使用Polars列出[list[f64]列

pandas DataFrame中类型转换混乱

创建带有二维码的Flask应用程序,可重定向到特定端点

大Pandas 胚胎中产生组合

为什么tkinter框架没有被隐藏?

查找两极rame中组之间的所有差异

将两只Pandas rame乘以指数

NP.round解算数据后NP.unique

组/群集按字符串中的子字符串或子字符串中的字符串轮询数据框

Stacked bar chart from billrame

如何从数据库上传数据到html?

如果满足某些条件,则用另一个数据帧列中的值填充空数据帧或数组

多处理队列在与Forking http.server一起使用时随机跳过项目

无法连接到Keycloat服务器

可以bcrypts AES—256 GCM加密损坏ZIP文件吗?

手动设置seborn/matplotlib散点图连续变量图例中显示的值

如何创建引用列表并分配值的Systemrame列

使用Python异步地持久跟踪用户输入

统计numpy. ndarray中的项目列表出现次数的最快方法