0

我想使用 Python 在 Photoshop 中打开 PDF。我知道如何使用 python 打开 photoshop (.psd) 文件,但我想知道是否有办法指定用于打开文件的程序。

到目前为止,我打开 Photoshop 文档所做的一切是:

psd = "path\to\photoshop\document"
os.startfile(psd)

但是当我在 PDF 上使用 os.startfile 时,它​​会使用 Adob​​e Acrobat 打开。我想在 Photoshop 中打开 PDF。有任何想法吗?

4

3 回答 3

1
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

于 2019-11-27T06:54:17.473 回答
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()
于 2014-01-20T07:30:18.200 回答
0

os.startfile只需使用其默认应用程序启动指定文件。将 PDF 的默认应用程序更改为 Photoshop 会得到您想要的结果,但代价是在其他情况下打开 PDF 真的很烦人。

要正确执行此操作,您需要使用 photoshop 的 COM 接口编写脚本。我没有尝试过,但本教程看起来可能适合您的需求。

于 2013-02-04T17:14:06.443 回答