狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#.net通過libreOffice實(shí)現(xiàn)Office文件轉(zhuǎn)換為pdf文件

admin
2020年4月16日 0:6 本文熱度 5045
一、安裝 libreOffice

點(diǎn)擊 libreOffice官網(wǎng) 或 點(diǎn)晴網(wǎng)站(64位:地址1地址2,32位:地址1地址2) 下載安裝 libreOffice,注意安裝的時(shí)候,不要做任何改動,全部按照默認(rèn)值安裝即可。


二、創(chuàng)建一個新的項(xiàng)目 LibreOffice

創(chuàng)建一個新的項(xiàng)目,方便后面調(diào)用。

添加下面代碼:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public class OfficeConvert
   {
       static string getLibreOfficePath()
       {
           switch (Environment.OSVersion.Platform)
           {
               case PlatformID.Unix:
                   return "/usr/bin/soffice";
               case PlatformID.Win32NT:
                   string binaryDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
                   return binaryDirectory + "\\Windows\\program\\soffice.exe";
               default:
                   throw new PlatformNotSupportedException("你的系統(tǒng)暫不支持!");
           }
       }
 
       public static void ToPdf(string officePath, string outPutPath)
       {
           //獲取libreoffice命令的路徑
           string libreOfficePath = getLibreOfficePath();
            
           ProcessStartInfo procStartInfo = new ProcessStartInfo(libreOfficePath, string.Format("--convert-to pdf --outdir {0} --nologo {1}", outPutPath, officePath));
           procStartInfo.RedirectStandardOutput = true;                                         
           procStartInfo.UseShellExecute = false;
           procStartInfo.CreateNoWindow = true;
           procStartInfo.WorkingDirectory = Environment.CurrentDirectory;
 
           //開啟線程
           Process process = new Process() { StartInfo = procStartInfo, };
           process.Start();
           process.WaitForExit();
 
           if (process.ExitCode != 0)
           {
               throw new LibreOfficeFailedException(process.ExitCode);
           }
       }
   }
 
   public class LibreOfficeFailedException : Exception
   {
       public LibreOfficeFailedException(int exitCode)
           base(string.Format("LibreOffice錯誤 {0}", exitCode))
       { }
   }


三、當(dāng)將程序發(fā)布到iis時(shí),需要將應(yīng)用程序池中的高級設(shè)置


設(shè)置為true,這個問題坑了我一個星期,如果不設(shè)置,進(jìn)程會一直運(yùn)行,不退出。


該文章在 2020/5/18 15:36:36 編輯過

全部評論2

admin
2020年4月16日 9:18
libreoffice 將文檔轉(zhuǎn)換成pdf格式的命令
LibreOffice 在Linux下的命令:
/opt/libreoffice5.3/program/soffice --convert-to pdf:writer_pdf_Export /home/lims/file/1111111.xlsx --outdir /home/lims/file

/opt/libreoffice5.3/program/soffice --convert-to pdf:writer_pdf_Export --outdir /home/lims/file /home/lims/file/1111111.xlsx

LibreOffice 在Windows命令:
c:\Program Files\LibreOffice 5\program\soffice.exe --convert-to pdf:writer_pdf_Export --outdir e:\file e:\file\1111111.xlsx
admin
2020年4月16日 11:11
注意,如果要開啟命令行轉(zhuǎn)換文件模式,需要在系統(tǒng)環(huán)境變量的path中增加主程序:soffice.exe 所在目錄:


新增加的path參數(shù)(一般是:C:\Program Files\LibreOffice 5\program),可能需要重啟服務(wù)器才會生效。

檢查參數(shù)是否生效的方法如下:
打開CMD,輸入以下命令:
"C:\Program Files\LibreOffice 5\program\soffice.exe" --convert-to pdf:writer_pdf_Export --outdir C:\temp C:\temp\測試文件.xlsx
回車執(zhí)行后,就會看到此目錄下會增加一個自動轉(zhuǎn)換出來的文件:C:\temp\測試文件.pdf


該評論在 2020/4/16 11:20:51 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved