[英]How do I convert .doc files to .txt using LibreOffice from the command line?
我有一個.doc
文件文件夾,我想將其轉換為.txt
格式。 如何在Windows 7中使用LibreOffice的命令行模式來做到這一點? 這些文件位於C:\\Temp\\Test
。
這是我使用Windows PowerShell處理此任務的方式
注意:從命令行使用LibreOffice之前,需要關閉Libreoffice的所有現有實例 。 這意味着關閉LibreOffice的所有GUI會話,並檢查TaskManager的soffice.exe
或運行后台的LibreOffice
進程。
一個項目:
PS &("C:\Program Files (x86)\LibreOffice 4\program\soffice.exe") -headless -convert-to txt:Text -outdir C:\Temp C:\Temp\test\sample.doc
這從文件sample.doc
在C:\\Temp
創建了一個文件sample.txt
。
多個項目:
foreach ($file in Get-ChildItem C:\Temp\test)
{
&("C:\Program Files (x86)\LibreOffice 4\program\soffice.exe") -headless -convert-to txt:Text -outdir C:\Temp C:\Temp\test\$file | Out-Null
}
這為文件夾C:\\Temp\\test
中的每個文件創建了一個.txt
文件。
再次:使用任務管理器確保soffice.exe
版本未運行。 這意味着關閉現有的LibreOffice GUI版本。
說明:
soffice.exe
命令。 -convert-to
是此示例中的重要參數。 使用-convert-to
您需要知道output_filter_name是什么(上面示例中的文本 )。 這些名稱的參考可以在這里找到 。 output_filter_name將是該列表中后綴為.xcu
的文件的名稱。
.doc
文件轉換為.pdf
,則可以使用-convert-to pdf:writer_pdf_Export
參數(未測試) .exe
進程需要通過管道傳遞到Out-Null
以避免彼此重疊。 去圖吧 。 要添加到@kevinaskevin答案中的另一項重要事項是-解決方法是:
通過IRC開發者:
LO的“用戶安裝”(即~/config/libreoffice
)並非旨在由多個進程同時訪問; 因此,當已經針對特定用戶安裝運行了一個soffice.bin時,其他soffice.bin會將其cmd行args轉發至第一個,然后立即再次終止(即,從以a退出的意義上講,它們不應“失敗”)非零退出值)
如果需要獨立的無頭LO,則可以通過自己的用戶安裝-env:UserInstallation=<file URL to dir>
啟動它
上面的解決方案已經結束,但是需要在LibreOffice 4.2 / Linux上進行一些更改:
soffice --headless --convert-to txt:Text /path_to/file_to_convert.odt
(我使用odt完成此操作,我遵循的示例使用了doc:http://ask.libreoffice.org/en/question/14130/how-do-i-install-filters-for-the-soffice-command/)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.