我想使用Python在Photoshop中打开PDF。我知道如何使用python打开photoshop(.psd)文件,但我想知道是否有办法指定用于打开文件的程序。
到目前为止,我所做的只是打开一个photoshop文档:
psd = "path\to\photoshop\document"
os.startfile(psd)
但是当我在PDF上使用os.startfile时,它会打开Adobe Acrobat。我想在photoshop中打开PDF。有什么想法吗?
答案 0 :(得分:0)
os.startfile
只需启动指定的文件with its default application即可。将PDF的默认应用程序更改为photoshop将获得您想要的结果,但是在其他情况下打开PDF文件的代价真的很烦人。
要正确执行此操作,您需要使用photshop的COM界面编写脚本。我没试过,但this tutorial看起来可能符合您的需求。
答案 1 :(得分:0)
Photoshop可以打开PDF文档,名为Photoshop.PDFOpenOptions
你需要win32com来发送photoshop应用程序。请参阅下面的示例代码
import win32com.client
import os, glob
folderin = r'D:\in'
if (__name__ == '__main__'):
psApp = win32com.client.Dispatch('Photoshop.Application')
for infile in glob.glob(os.path.join(folderin, '*.pdf')):
options = win32com.client.Dispatch('Photoshop.PDFOpenOptions')
options.CropPage = 0 # BoundingBox
options.Resolution = 300 # Pixels
options.Mode = 1 # Grayscale
options.BitsPerChannel = 8 # 8 bits per channel
options.AntiAlias = True
options.ConstrainProportions = True #Deprecated for Adobe Photoshop CS3
doc = psApp.Open(infile, options)
doc.flatten
doc.Trim(1)
doc.Close(2)
psApp.Quit()
答案 2 :(得分:0)
from comtypes.client import GetActiveObject
# Start up Photoshop application
# app = Dispatch('Photoshop.Application')
# Or get Reference to already running Photoshop application instance
app = GetActiveObject("Photoshop.Application")
fileName = "C:\Git\PS_Samples_Files\MyPDFFile.pdf"
docRef = app.Open(fileName)
更多示例,https://github.com/lohriialo/photoshop-scripting-python