簡體   English   中英

將PDF轉換為PNG時出錯-Python 3.6和GhostScript

[英]error Converting PDF to PNG - Python 3.6 and GhostScript

我很難在python 3.6,Windows 10上使用代碼將pdf文件轉換為png的麻煩。

我知道你會說什么: 谷歌!

但是我發現的幾乎所有內容都不在python 2.7上 而且某些軟件包尚未更新。

到目前為止,我所看到的是最好的方法是使用魔杖 ,對嗎? (我之前已經安裝了ImageMagick

from wand.image import Image
# Converting first page into JPG
with Image(filename='0.pdf') as img:
    img.save(filename="/temp.jpg")
# Resizing this image

這是我的第二個錯誤:

wand.exceptions.DelegateError: PDFDelegateFailed 
`The system cannot find the file specified.' @ error/pdf.c/ReadPDFImage/809

所以我看我需要ghostscript 我安裝了它。 但是該軟件包適用於python 2.7,並且不起作用。 我發現python3-ghostscript 0.5.0。 https://pypi.python.org/pypi/python3-ghostscript/0.5.0

新錯誤:

RuntimeError: Can not find Ghostscript DLL in registry

所以在這里我需要安裝Ghostscript 9: https : //www.ghostscript.com/download/gsdnld.html


首先,它不是GPL許可證……甚至不是軟件包,而是程序。 我不知道如何在未來的python代碼中使用它...


仍然有一個錯誤:

RuntimeError: Can not find Ghostscript DLL in registry

而且我找不到任何東西。

Ghostscript是根據AGPL許可的,如果您需要來源,則可以在/ Program Files(x86)/gs/gs9.21/doc中找到該許可,然后可以從Ghostscript Git 存儲庫中獲得它們。 注意由於您引用注冊表,所以我假設您正在Windows上運行。

如果您安裝了預編譯的二進制文件,那么它將在Windows注冊表中創建一個條目,我假設這就是您的Python代碼正在尋找的東西,但是我不確定。 如果需要,請確保安裝Python所需的正確字長(32或64)版本。

當然,您可以只運行Ghostscript來渲染PDF文件並生成PNG輸出。

gswin32c -sDEVICE=png16m -sOutputFile=out%d.png input.pdf

這將在輸入的PDF文件的每頁中創建一個文件,將gswin64c用於64位版本...

您可以使用-r開關來更改輸出的分辨率,例如-r300

我想您可以簡單地從Python派生一個進程。 否則,您將不得不找人告訴您Python腳本在注冊表中正在尋找什么。 也許是在尋找特定版本的Ghostscript或32位版本之類的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM