麒麟系統 doc轉pdf

# 安裝LibreOffice(如果尚未安裝)
sudo apt update
sudo apt install libreoffice# 將DOC轉換為PDF
libreoffice --headless --convert-to pdf 你的文檔.doc# 或者指定輸出目錄
libreoffice --headless --convert-to pdf --outdir /輸出目錄 你的文檔.doc

python

import subprocess
import os
import sysdef convert_doc_to_pdf(doc_path, output_dir=None):"""將DOC文檔轉換為PDF:param doc_path: DOC文檔路徑:param output_dir: 輸出目錄(可選):return: 轉換后的PDF路徑,失敗返回None"""# 檢查文件是否存在if not os.path.exists(doc_path):print(f"錯誤:文件不存在 {doc_path}")return None# 檢查文件格式if not doc_path.lower().endswith(('.doc', '.docx')):print(f"錯誤:不支持的文件格式 {doc_path}")return None# 設置輸出目錄if output_dir is None:output_dir = os.path.dirname(doc_path)else:os.makedirs(output_dir, exist_ok=True)# 構建輸出文件路徑base_name = os.path.splitext(os.path.basename(doc_path))[0]pdf_path = os.path.join(output_dir, f"{base_name}.pdf")try:# 使用LibreOffice進行轉換cmd = ['libreoffice', '--headless', '--convert-to', 'pdf','--outdir', output_dir,doc_path]print(f"正在轉換: {doc_path} -> {pdf_path}")result = subprocess.run(cmd, capture_output=True, text=True, timeout=60)if result.returncode == 0:print(f"轉換成功: {pdf_path}")return pdf_pathelse:print(f"轉換失敗: {result.stderr}")return Noneexcept subprocess.TimeoutExpired:print("轉換超時")return Noneexcept FileNotFoundError:print("未找到LibreOffice,請先安裝: sudo apt install libreoffice")return Noneexcept Exception as e:print(f"轉換過程中出錯: {e}")return None# 批量轉換函數
def batch_convert_docs_to_pdf(directory, output_dir=None):"""批量轉換目錄中的所有DOC文檔為PDF"""if output_dir is None:output_dir = directorysupported_extensions = ('.doc', '.docx')converted_files = []for filename in os.listdir(directory):if filename.lower().endswith(supported_extensions):doc_path = os.path.join(directory, filename)pdf_path = convert_doc_to_pdf(doc_path, output_dir)if pdf_path:converted_files.append(pdf_path)return converted_files# 使用示例
if __name__ == "__main__":# 單個文件轉換doc_file = "/home/yklele/anli.doc"pdf_file = convert_doc_to_pdf(doc_file)if pdf_file:print(f"轉換完成: {pdf_file}")else:print("轉換失敗")# 批量轉換示例# docs_directory = "/path/to/your/documents"# converted_files = batch_convert_docs_to_pdf(docs_directory)# print(f"批量轉換完成: {len(converted_files)} 個文件")

comtypes

import os
import comtypes.client
import pythoncomdef convert_doc_to_pdf_wps(doc_path, pdf_path=None):"""使用WPS進行DOC到PDF的轉換(需要安裝WPS)"""if not os.path.exists(doc_path):return Falseif pdf_path is None:pdf_path = os.path.splitext(doc_path)[0] + '.pdf'try:# 初始化COMpythoncom.CoInitialize()# 創建WPS應用對象wps = comtypes.client.CreateObject("KWPS.Application")wps.Visible = False# 打開文檔doc = wps.Documents.Open(doc_path)# 另存為PDFdoc.SaveAs(pdf_path, FileFormat=17)  # 17代表PDF格式# 關閉文檔和應用doc.Close()wps.Quit()print(f"轉換成功: {pdf_path}")return Trueexcept Exception as e:print(f"轉換失敗: {e}")return Falsefinally:pythoncom.CoUninitialize()

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

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

相關文章

Python實現生成矩形框、三角形框、六邊形框和圓環點云

本節我們分享上節提到的不填充點云。在點云處理、計算機視覺與工業檢測中,幾何輪廓(邊框/環)點云比實心點云更能反映物體的邊緣特征、結構骨架與形貌突變區域。Python 借助 NumPy 即可快速生成矩形邊框、三角形邊框、六邊形邊框與圓環點云&am…

2025年本體論:公理與規則的挑戰與趨勢

摘要本文章旨在深入探討本體論(Ontology)中公理(Axioms)與規則(Rules)的核心概念、技術實現、驗證方法、性能評估及其在2025年的前沿趨勢與挑戰。公理與規則是構建嚴謹、一致知識模型的邏輯基石&#xff0c…

【51單片機】【protues仿真】基于51單片機PM2.5空氣質量檢測系統

目錄 一、主要功能 二、使用步驟 三、硬件資源 四、軟件設計 五、實驗現象 一、主要功能 1、LCD1602液晶顯示 2、按鍵?設置閾值 3、PM2.5大于閾值時啟動聲光警報 二、使用步驟 基于51單片機的PM2.5空氣質量檢測系統通常采用STC89C51/52作為核心控制器,結合…

【目錄-單選】鴻蒙HarmonyOS開發者基礎

用哪一種裝飾器修飾的組件可作為頁面入口組件?Look at the answer下面是ArkTS中類名、枚舉名推薦的代碼風格是 Look at the answer向服務器提交表單數據,以下哪種請求方式比較合適 Look at the answer使用http發起網絡請求,需要以下哪種權限&…

maven【maven】技術詳解

MavenMaven的本質是項目管理工具,將項目開發和管理過程抽象成一個項目對象模型(POM)Project Object Model:項目對象管理模型作用: 項目構建:提供標準的、跨平臺的自動化項目構建方式依賴管理:方…

【操作系統-Day 25】死鎖 (Deadlock):揭秘多線程編程的“終極殺手”

Langchain系列文章目錄 01-玩轉LangChain:從模型調用到Prompt模板與輸出解析的完整指南 02-玩轉 LangChain Memory 模塊:四種記憶類型詳解及應用場景全覆蓋 03-全面掌握 LangChain:從核心鏈條構建到動態任務分配的實戰指南 04-玩轉 LangChai…

【嵌入式C語言】七

8.4函數的聲明和定義聲明一個函數意味著向編譯器描述函數名、返回值、參數個數和類型,但并不會為函數分配存儲空間定義一個函數意味著在聲明變量的同時還要有具體的實現,并且會為函數分配存儲空間8.5多源文件的函數聲明和定義8.6預處理指令#Include#incl…

hardhat3 源神 -- 啟動!

Hardhat 項目開發環境搭建完整指南 1. 從 GitHub 下載項目 # 使用 SSH 方式克隆(需要配置 SSH key) git clone gitgithub.com:NomicFoundation/hardhat.git# 或使用 HTTPS 方式 git clone https://github.com/NomicFoundation/hardhat.git# 進入項目目錄…

遇到 Git 提示大文件無法上傳確實讓人頭疼

遇到 Git 提示大文件無法上傳確實讓人頭疼,但別擔心,我們可以一步步來解決。為了讓你更清晰地了解整個流程,我先用一個表格來概括主要步驟:步驟核心操作關鍵命令/工具示例 (用于刪除歷史中的大文件)1. 定位大文件使用 Git 命令或工…

機器人控制器開發(傳感器層——奧比大白相機適配)

編譯OrbbecSDK_ROS2的代碼 執行命令 colcon buildros2 launch orbbec_camera dabai.launch.py問題1: 運行時報錯: [component_container-1] [ERROR] [1757153916.450795107] [camera.camera_container]: Failed to load library: Could not load library…

C語言(長期更新)第15講 指針詳解(五):習題實戰

C語言(長期更新)第15講 指針詳解(五):習題實戰 跟著潼心走,輕松拿捏C語言,困惑通通走,一去不回頭~歡迎開始今天的學習內容,你的支持就是博主最大的動力。博主主頁&#…

數據倉庫概要

什么是數據倉庫? 數據倉庫是一個面向主題的、集成的、相對穩定的、反映歷史變化的數據集合,用于支持管理決策。 核心特征 1. 面向主題 數據倉庫圍繞核心業務主題(如客戶、產品、銷售、財務)來組織數據,而不是圍繞具體的…

python庫 Py2exe 的詳細使用(將 Python 腳本變為Windows獨立軟件包)

更多內容請見: python3案例和總結-專欄介紹和目錄 文章目錄 一、Py2exe 概述 1.1 Py2exe介紹 1.2 Py2exe安裝 1.3 替代工具推薦 二、基礎使用 2.1 編寫打包腳本 2.2 執行打包命令 2.3 完整案例 2.4 配置選項詳解 2.5 構建和分發 三、高級配置 3.1 包含隱藏導入 3.2 處理特殊包…

CuTe C++ 簡介02,gemm_device cuda kernel 的實現

《CuTe C 簡介01,從示例開始 》 中,最后看到了 計算 gemm 的cuda kernel,使用 NVIDIA CUTLASS 的 CUTe (CUDA Tile) 庫實現的高性能 GEMM (通用矩陣乘法) CUDA kernel。接下來解釋一下這個內核的各個部分。文末再貼一遍代碼,方便查…

萬代《寶可夢》主題新品扭蛋公開!史上最大尺寸

使用jQuery的常用方法與返回值分析 jQuery是一個輕量級的JavaScript庫,旨在簡化HTML文檔遍歷和操作、事件處理以及動畫效果的創建。本文將介紹一些常用的jQuery方法及其返回值,幫助開發者更好地理解和運用這一強大的庫。 1. 選擇器方法 jQuery提供了多種…

【FastDDS】Layer Transport ( 05-Shared Memory Transport)

6.4 共享內存傳輸 共享內存(SHM)傳輸依靠主機操作系統提供的共享內存機制,實現了在同一處理單元/機器上運行的實體之間的快速通信。注意 Fast DDS 利用域參與者(DomainParticipant)的 GuidPrefix_t 來識別在同一主機上…

記 2025/9/6

人工智能常見的模型按照處理問題分為6大類:處理權重問題的權重模型、處理狀態問題的狀態模型、處理序列問題的問題模型、處理表示問題的表示模型、處理相似度的相似模型、處理分類問題的分類模型。權重是計算特定狀態下事物的重要性。狀態問題是刻畫權重動態變化的過…

開啟Python之路,第一節學習大綱-從入門到進階

前端開啟Python之路,前端有沒有必要卷后端技術,歡迎各位大神批評指正 第一階段:基礎入門 (打好根基) 目標: 理解編程基本概念,掌握 Python 核心語法,能編寫簡單的腳本程序。 1、環境搭建與開發工具 安裝 Py…

webshell及冰蝎雙擊無法打開?

什么是webshell? web:萬維網 shell:是指一種應用程序,為用戶和系統之間建立連接,通過這個界面訪問操作系統內核的服務 webshell:是以asp、aspx、php、jsp或者cgi等網頁文件形式存在的一種命令執行環境,也可以將其稱做…

【星閃】Hi2821 | PWM脈寬調制模塊 + 呼吸燈例程

1. 簡介PWM(Pulse Width Modulation),全稱脈寬調制,通過對一系列脈沖的寬度進行調制,等效出所需波形。即對模擬信號電平進行數字編碼,通過調節頻率、占空比的變化來調節信號的變化。一個 PWM 周期內由一段高…