[英]Converting from pdf to png with ghostscript, result with many white boxes
[英]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.