【bug】Error: /undefinedfilename in (/tmp/ocrmypdf.io.9xfn1e3b/origin.pdf)

在使用ocrmypdf的時候,需要Ghostscript9.55及以上的版本,但是ubuntu自帶為9.50
在這里插入圖片描述
然后使用ocrmypdf報錯了

sudo apt update
sudo apt install ghostscript
gs --version
9.50 #版本不夠

安裝的版本為9.50不夠,因此去官網https://ghostscript.com/releases/gsdnld.html下載10.05.1的版本,但是不要下載snap版本,下載源碼進行編譯
在這里插入圖片描述
使用 sudo snap install --devmode gs_10.05.1_amd64.snap 安裝 Ghostscript 時,它會被安裝在一個 高度隔離的沙盒環境 中。這意味著 Snap 包對文件系統、網絡和其他系統資源的訪問是受限的,除非明確授予權限。

當 ocrmypdf 嘗試調用這個通過 Snap 安裝的 Ghostscript 時,Ghostscript 會嘗試訪問 ocrmypdf 創建的臨時文件(例如 /tmp/ocrmypdf.io.63kyrt7k/origin.pdf)。然而,由于 Snap 的隔離機制,你的 Ghostscript Snap 很可能沒有權限讀取或寫入到像 /tmp 或你文件系統中其他任意位置(包括 /mnt/mydrive/item/python/tmp)的臨時文件。

盡管你之前檢查過 /tmp 目錄的權限是正確的(drwxrwxrwt),但那是針對宿主系統而言的。Snap 環境有自己的沙盒規則,即便宿主系統允許訪問,Snap 包內部也可能被限制。
下載源碼,下面是具體命令:

sudo apt remove ghostscript # 卸載自帶的版本
sudo snap remove gs # 如果通過snap下載就刪除
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10051/ghostscript-10.05.1.tar.gz
sudo apt install build-essential libcups2-dev libpng-dev libtiff-dev zlib1g-dev libjpeg-dev liblcms2-dev libpaper-dev libopenjp2-7-dev libjbig2dec-dev #下載依賴
tar -xf ghostscript-10.05.1.tar.gz
cd ghostscript-10.05.1/
./configure  # ./configure 會檢查你的系統環境和依賴
make -j$(nproc)  # 編譯代碼
sudo make install #將編譯好的程序安裝到系統路徑(通常是 /usr/local/bin 和 /usr/local/lib)
gs --version #驗證安裝
10.05.1

貼一張安裝成功的圖片:
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/908312.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/908312.shtml
英文地址,請注明出處:http://en.pswp.cn/news/908312.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【TinyWebServer】線程同步封裝

目錄 POSIX信號量 int sem_init(sem_t* sem,int pshared,unsingned int value); int sem_destroy(sem_t* sem); int sem_wait(sem_t* sem); int sem_post(sem_t* sem); 互斥量 條件變量 為了對多線程程序實現同步問題,可以用信號量POSIX信號量、互斥量、條件變…

打造高效多模態RAG系統:原理與評測方法詳解

引言 隨著信息檢索與生成式AI的深度融合,檢索增強生成(RAG, Retrieval-Augmented Generation) 已成為AI領域的重要技術方向。傳統RAG系統主要依賴文本數據,但真實世界中的信息往往包含圖像、表格等多模態內容。多模態RAG&#xf…

Unity安卓平臺開發,啟動app并傳參

using UnityEngine; using System;public class IntentReceiver : MonoBehaviour {public bool isVR1;void Start(){Debug.LogError("app1111111111111111111111111");if (isVR1){LaunchAnotherApp("com.HappyMaster.DaKongJianVR2");}else{// 檢查是否有傳…

云計算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】

云計算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】 目錄 云計算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】1.RPM包的一般安裝位置2.軟件名和軟件包名3.查詢軟件信息4.查詢軟件包5.導入紅帽簽名信息,解決查詢軟件包信息報錯6.利用…

【圖像處理3D】:點云圖是怎么生成的

點云圖是怎么生成的 **一、點云數據的采集方式****1. 激光雷達(LiDAR)****2. 結構光(Structured Light)****3. 雙目視覺(Stereo Vision)****4. 飛行時間相機(ToF Camera)****5. 其他…

javaweb -html -CSS

HTML是一種超文本標記語言 超文本&#xff1a;超過了文本的限制&#xff0c;比普通文本更強大&#xff0c;除了文字信息&#xff0c;還可以定義圖片、音頻、視頻等內容。 標記語言&#xff1a;由標簽"<標簽名>"構成的語言。 CSS:層疊樣式表&#xff0c;用于…

pyinstaller 安裝 ubuntu

安裝命令 pip install pyinstaller 讀取安裝路徑 ? ~ find ~/.local/ -name pyinstaller/home/XXX/.local/bin/pyinstaller 路徑配置 vi ~/.zshrc 添加到文件最后 export PATH"$PATH:/home/XXX/.local/bin/" 查看版本號 ? ~ source ~/.zshrc? ~ pyi…

【前端】掌握HTML/CSS寬高調整:抓住問題根源,掌握黃金法則

一、寬高控制的「黃金法則」 問題根源&#xff1a;為什么設置了寬高沒效果&#xff1f; <!-- 典型失敗案例 --> <style>.problem-box {width: 200px;height: 100px;padding: 20px; /* 實際變成240x140px&#xff01; */border: 5px solid red; /* 最終250x150px&…

LuaJIT2.1 和 Lua5.4.8 性能對比

說明 最近在學習 LuaJIT&#xff0c;想看看把它接入到項目中使用&#xff0c;會提高多大的性能。 今天抽時間&#xff0c;簡單地測試了一下 LuaJIT 2.2 和 Lua5.4.8 的性能。 測試平臺&#xff1a; 系統&#xff1a;Windows 10 WSLCPU&#xff1a;Intel Core? i7-8700 CPU…

Arduino學習-按鍵燈

哎&#xff0c;別笑&#xff0c;總比刷抖音強點吧 1、效果 2、代碼 const int buttonPin2; const int ledPin13;int buttonState0;void setup() {// put your setup code here, to run once:pinMode(buttonPin,INPUT);pinMode(ledPin,OUTPUT); }void loop() {// put your mai…

強化學習魚書(10)——更多深度強化學習的算法

&#xff1a;是否使用環境模型&#xff08;狀態遷移函數P(s’|s,a)和獎 勵函數r(s&#xff0c;a&#xff0c;V)&#xff09;。不使用環境模型的方法叫作無模型&#xff08;model-free&#xff09;的方法&#xff0c;使用環境模型的方法叫作有模型&#xff08;model-based&#…

9.axios底層原理,和promise的對比(2)

&#x1f63a;&#x1f63a;&#x1f63a; 和promise的對比 完全可以直接使用 Promise 來發 HTTP 請求&#xff0c;比如用原生 fetch Promise 就可以實現網絡請求功能&#x1f447; ? 用 Promise fetch 的寫法&#xff08;原生&#xff09; fetch(‘https://api.example.c…

什么是數據孤島?如何實現從數據孤島到數據共享?

目錄 一、數據孤島是什么&#xff1f; &#xff08;一&#xff09;數據孤島的定義 &#xff08;二&#xff09;數據孤島怎么形成的 二、數據孤島帶來的問題 &#xff08;一&#xff09;數據冗余和不一致 &#xff08;二&#xff09;決策效率低下 &#xff08;三&#xf…

MQTT入門實戰寶典:從零起步掌握物聯網核心通信協議

MQTT入門實戰寶典&#xff1a;從零起步掌握物聯網核心通信協議 前言 物聯網時代&#xff0c;萬物互聯已成為現實&#xff0c;而MQTT協議作為這個時代的"數據總線"&#xff0c;正默默支撐著從智能家居到工業物聯的各類應用場景。本文將帶你揭開MQTT的神秘面紗&#…

I2C通信講解

I2C總線發展史 怎么在一條串口線上連接多個設備呢&#xff1f; 由于速度同步線是由主機實時發出的&#xff0c;所以主機可以按需求修改通信速度&#xff0c;這樣在一條線上可以掛接不同速度的器件&#xff0c;單片機和性能差的器件通信&#xff0c;就輸出較慢的脈沖信號&#x…

Windows 10 IoT 系統深度定制指南:從環境搭建到工業部署

目錄 一、Windows 10 IoT 架構特性與版本選型 1.1 核心架構設計 1.2 版本對比與選型建議 二、開發環境搭建與硬件適配 2.1 工具鏈配置 2.2 硬件適配關鍵步驟 三、系統定制流程詳解 3.1 鏡像定制&#xff08;IoT Core Dashboard&#xff09; 3.2 使用ICD&#xff08;Im…

k8s開發webhook使用certmanager生成證書

1.創建 Issuer apiVersion: cert-manager.io/v1 kind: Issuer metadata:name: selfsigned-issuernamespace: default spec:selfSigned: {}2.Certificate&#xff08;自動生成 TLS 證書&#xff09; apiVersion: cert-manager.io/v1 kind: Certificate metadata:name: webhook…

MyBatis-Plus深度全解:從入門到企業級實戰

MyBatis-Plus深度全解&#xff1a;從入門到企業級實戰 一、為什么選擇MyBatis-Plus&#xff1f; 1.1 MyBatis的痛點 - 重復CRUD代碼編寫 - 分頁功能實現復雜 - 缺少通用Service層封裝 - 動態表名支持困難 - 多租戶方案需自行實現1.2 MyBatis-Plus核心優勢 無侵入&#xff1a…

【無標題】路徑著色問題的革命性重構:拓撲色動力學模型下的超越與升華

路徑著色問題的革命性重構&#xff1a;拓撲色動力學模型下的超越與升華 一、以色列路徑著色模型的根本局限 mermaid graph TB A[以色列路徑著色模型] --> B[強連通約束] A --> C[僅實邊三角剖分] A --> D[靜態色彩分配] B --> E[無法描述非相鄰關系] C --> F[忽…

01 Deep learning神經網絡的編程基礎 二分類--吳恩達

二分類 1. 核心定義 二分類任務是監督學習中最基礎的問題類型&#xff0c;其目標是將樣本劃分為兩個互斥類別。設樣本特征空間為 X ? R n \mathcal{X} \subseteq \mathbb{R}^n X?Rn&#xff0c;輸出空間為 Y { 0 , 1 } \mathcal{Y} \{0,1\} Y{0,1}&#xff0c;學習目標為…