在某些情況下,嘗試透過subprocess 套件使用ImageMagick 將PDF 轉換為影像可能會遇到錯誤,內容如下:
convert-im6.q16: not authorized `temp2.pdf' @ error/constitute.c/ReadImage/412.
此錯誤表示ImageMagick 缺乏存取PDF 檔案所需的授權。要解決此問題,請按照下列步驟操作:
開啟位於下列位置的 ImageMagick 策略檔案: /etc/ImageMagick-6/policy.xml.
找到並取消註解以下行:
<!-- <policy domain="module" rights="none" pattern="{PS,PDF,XPS}" /> -->
將「rights」的值從「none」改為"read|write":
<policy domain="module" rights="read|write" pattern="{PS,PDF,XPS}" />
注意:在某些系統上,策略行可能使用“domain=”coder”而不是“domain=”module”。
儲存對策略檔案的變更並重新啟動 ImageMagick。重新啟動 ImageMagick 的具體命令會因您使用的平台而異。
透過執行這些步驟,您將授予 ImageMagick 存取和轉換 PDF 檔案所需的權限。
以上是如何修復 ImageMagick 轉換 PDF 時的「未授權」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!