導航:首頁 > 文檔加密 > 中間件pdf

中間件pdf

發布時間:2025-05-05 09:19:29

A. java 有關word,excel,pdf轉換成html 有幾種方式

java將Word/Excel/PDF文件轉換成HTML整理

項目開發過程中,需求涉及到了各種文檔轉換為HTML或者網頁易顯示格式,現在將實現方式整理如下:
一、使用Jacob轉換Word,Excel為HTML

「JACOB一個Java-COM中間件.通過這個組件你可以在Java應用程序中調用COM組件和Win32 libraries。」

首先下載Jacob包,JDK1.5以上需要使用Jacob1.9版本(JDK1.6尚未測試),與先前的Jacob1.7差別不大

1、將壓縮解壓後,Jacob.jar添加到Libraries中;

2、將Jacob.dll放至「WINDOWS\SYSTEM32」下面。

需要注意的是:
【使用IDE啟動Web伺服器時,系統讀取不到Jacob.dll,例如用MyEclipse啟動Tomcat,就需要將dll文件到MyEclipse安裝目錄的「jre\bin」下面。
一般系統沒有載入到Jacob.dll文件時,報錯信息為:「java.lang.UnsatisfiedLinkError: no jacob in java.library.path」】

新建類:
1public class JacobUtil
2{
3 public static final int WORD_HTML = 8;
4
5 public static final int WORD_TXT = 7;
6
7 public static final int EXCEL_HTML = 44;
8
9 /** *//**
10 * WORD轉HTML
11 * @param docfile WORD文件全路徑
12 * @param htmlfile 轉換後HTML存放路徑
13 */
14 public static void wordToHtml(String docfile, String htmlfile)
15 {
16 ActiveXComponent app = new ActiveXComponent("Word.Application"); // 啟動word
17 try
18 {
19 app.setProperty("Visible", new Variant(false));
20 Dispatch docs = app.getProperty("Documents").toDispatch();
21 Dispatch doc = Dispatch.invoke(
22 docs,
23 "Open",
24 Dispatch.Method,
25 new Object[] { docfile, new Variant(false),
26 new Variant(true) }, new int[1]).toDispatch();
27 Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {
28 htmlfile, new Variant(WORD_HTML) }, new int[1]);
29 Variant f = new Variant(false);
30 Dispatch.call(doc, "Close", f);
31 }
32 catch (Exception e)
33 {
34 e.printStackTrace();
35 }
36 finally
37 {
38 app.invoke("Quit", new Variant[] {});
39 }
40 }
41
42 /** *//**
43 * EXCEL轉HTML
44 * @param xlsfile EXCEL文件全路徑
45 * @param htmlfile 轉換後HTML存放路徑
46 */
47 public static void excelToHtml(String xlsfile, String htmlfile)
48 {
49 ActiveXComponent app = new ActiveXComponent("Excel.Application"); // 啟動word
50 try
51 {
52 app.setProperty("Visible", new Variant(false));
53 Dispatch excels = app.getProperty("Workbooks").toDispatch();
54 Dispatch excel = Dispatch.invoke(
55 excels,
56 "Open",
57 Dispatch.Method,
58 new Object[] { xlsfile, new Variant(false),
59 new Variant(true) }, new int[1]).toDispatch();
60 Dispatch.invoke(excel, "SaveAs", Dispatch.Method, new Object[] {
61 htmlfile, new Variant(EXCEL_HTML) }, new int[1]);
62 Variant f = new Variant(false);
63 Dispatch.call(excel, "Close", f);
64 }
65 catch (Exception e)
66 {
67 e.printStackTrace();
68 }
69 finally
70 {
71 app.invoke("Quit", new Variant[] {});
72 }
73 }
74
75}
76
當時我在找轉換控制項時,發現網易也轉載了一偏關於Jacob使用幫助,但其中出現了比較嚴重的錯誤:String htmlfile = "C:\\AA";
只指定到了文件夾一級,正確寫法是String htmlfile = "C:\\AA\\xxx.html";

到此WORD/EXCEL轉換HTML就已經差不多了,相信大家應該很清楚了:)

二、使用XPDF將PDF轉換為HTML

1、下載xpdf最新版本,地址:http://www.foolabs.com/xpdf/download.html
我下載的是xpdf-3.02pl2-win32.zip

2、下載中文支持包
我下載的是xpdf-chinese-simplified.tar.gz

3、下載pdftohtml支持包
地址:http://sourceforge.net/projects/pdftohtml/
我下載的是:pdftohtml-0.39-win32.tar.gz

4、解壓調試
1) 先將xpdf-3.02pl2-win32.zip解壓,解壓後的內容可根據需要進行刪減,如果只需要轉換為txt格式,其他的exe文件可以刪除,只保留pdftotext.exe,以此類推;
2) 然後將xpdf-chinese-simplified.tar.gz解壓到剛才xpdf-3.02pl2-win32.zip的解壓目錄;
3) 將pdftohtml-0.39-win32.tar.gz解壓,pdftohtml.exe解壓到xpdf-3.02pl2-win32.zip的解壓目錄;
4) 目錄結構:
+---[X:\xpdf]
|-------各種轉換用到的exe文件
|
|-------xpdfrc
|
+------[X:\xpdf\xpdf-chinese-simplified]
|
|
+-------很多轉換時需要用到的字元文件

xpdfrc:此文件是用來聲明轉換字元集對應路徑的文件

5) 修改xpdfrc文件(文件原名為sample-xpdfrc)
修改文件內容為:
Txt代碼

#----- begin Chinese Simplified support package
cidToUnicode Adobe-GB1 xpdf-chinese-simplified\Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN xpdf-chinese-simplified\ISO-2022-CN.unicodeMap
unicodeMap EUC-CN xpdf-chinese-simplified\EUC-CN.unicodeMap
unicodeMap GBK xpdf-chinese-simplified\GBK.unicodeMap
cMapDir Adobe-GB1 xpdf-chinese-simplified\CMap
toUnicodeDir xpdf-chinese-simplified\CMap
fontDir C:\WINDOWS\Fonts
displayCIDFontTT Adobe-GB1 C:\WINDOWS\Fonts\simhei.ttf
#----- end Chinese Simplified support package

6) 創建bat文件pdftohtml.bat(放置的路徑不能包含空格)
內容為:
Txt代碼

@echo off
set folderPath=%1
set filePath=%2
cd /d %folderPath%
pdftohtml -enc GBK %filePath%
exit
7) 創建類

JAVA代碼

public class ConvertPdf
{
private static String INPUT_PATH;
private static String PROJECT_PATH;

public static void convertToHtml(String file, String project)
{
INPUT_PATH = file;
PROJECT_PATH = project;
if(checkContentType()==0)
{
toHtml();
}
}

private static int checkContentType()
{
String type = INPUT_PATH.substring(INPUT_PATH.lastIndexOf(".") + 1, INPUT_PATH.length())
.toLowerCase();
if (type.equals("pdf"))
return 0;
else
return 9;
}

private static void toHtml()
{
if(new File(INPUT_PATH).isFile())
{
try
{
String cmd = "cmd /c start X:\\pdftohtml.bat \"" + PROJECT_PATH + "\" \"" + INPUT_PATH + "\"";
Runtime.getRuntime().exec(cmd);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}

}

B. 金蝶Apusic中間件中部署 SuperMap iServer

一、系統配置要求

本文使用軟體版本為 iServer 8.1.1 金蝶 9.0 ;64位操作系統為 Windows 10_1607 Ubuntu 14.04_server
   文件如下:

supermap_iserver_8.1.1a_war.zip
AAS-V9.0_20170309.zip

    Windows linux 下安裝部署過程相同

二、安裝金蝶

金蝶中間件需要jdk環境,所以需要先安裝jdk,jdk版本應同時高於金蝶、iServer要求的版本。本文使用的金蝶要求jdk1.6及以上、iServer 8.1.1要求jre1.8及以上,所以這里使用 JDK1.8 (64位)。

安裝JDK

可以使用安裝包也可以使用解壓包,這里省略。

安裝金蝶

解壓 AAS-V9.0_20170309.zip 文件即可,本文解壓到以下目錄:

Windows F:WORKAAS
Linux /opt/AAS

配置金蝶許可

將收到的許可文件重命名為 license.xml 放到金蝶解壓目錄即可,本文放到以下目錄:

Windows F:WORKAAS
Linux /opt/AAS

啟動、關閉&管理金蝶服務

可以通過腳本啟動金蝶中間件。腳本位置:

Windows 下: {金蝶安裝目錄}domains{域}instartapusic.cmd、stopapusic.cmd   (雙擊或cmd窗口運行)
Linux 下: {金蝶安裝目錄}/domains/{域}/bin/startapusic、stopapusic        (bash或sh startapusic或stopapusic)

默認域是mydomain,所以本文的啟動關閉腳本路徑是:

Windows F:.cmd、stopapusic.cmd
Linux /opt/AAS/domains/mydomain/bin/startapusic、stopapusic

首次啟動驗證許可通過後,會提示設置管理員密碼,管理員用戶名是: admin

管理金蝶服務

瀏覽器訪問:

http://{hostname}:6888/admin

本機訪問可以將{hostname}替換成localhost或127.0.0.1;非本機訪問則使用域名或IP。

   其他可以參考金蝶安裝目錄下的 readme.html

部署iServer

解壓 supermap_iserver_8.1.1a_war.zip 得到以下文件:

support_win_x64.zip (Windows下iServer依賴的SuperMap iObjects Java包)
support_linux_x64.tar.gz (Linux下iServer依賴的SuperMap iObjects Java包)
iserver.war (iServer部署包)
iserver#iClient.war (iServer自帶iClient示範程序部署包)
iserver#help.war (iServer自帶幫助文檔部署包)
Guide_smiserver_war_chn.pdf (iServer安裝說明)
BUILD_14511_15 (iServer版本號)

在金蝶中部署,需要先將 iserver#iClient.war iserver#help.war 依次重命名為: iClient.war help.war

配置iServer依賴環境

Windows上解壓 support_win_x64.zip ,本文解壓到 D:SuperMap。
  Linux上解壓 support_linux_x64.tar.gz (命令:tar -zxvf {*.tar.gz文件} {解壓路徑,不寫解壓到當前路徑}),本文解壓到:/opt
  配置iServer依賴環境的方式有兩種:設置系統環境變數、修改中間件相關腳本。

方式一:設置環境變數

本文在PATH中增加以下路徑:

Windows: D:SuperMapsupport_win_x64objectsjavain
Linux: /opt/support_linux_x64/objectsjava/bin

方式二:修改啟動腳本

Windows下, { 金蝶安裝目錄 }domains{ }insetenv.cmd 或者 { 金蝶安裝目錄 }insetenv.cmd 文件第一行之後,比如rem set JAVA_HOME variable here.這句注釋之後添加以下內容,本文:F:WORKAASinsetenv.cmd:

rem rem後面的是注釋,也可以在這里設置中間件使用的jdk路徑
rem set JAVA_HOME=D:Program FilesJavajdk1.8.0_66
set PATH=D:SuperMapsupport_win_x64objectsjavain;%PATH%

Linux下, { 金蝶安裝目錄 }/domains/{ }/bin/setenv 或者 { 金蝶安裝目錄 }/bin/setenv 文件第一行之後,比如# set JAVA_HOME variable here.這句注釋之後添加以下內容,本文:/opt/AAS/bin/setenv:

# #後面的是注釋,也可以在這里設置中間件使用的jdk路徑
#JAVA_HOME=/opt/jdk1.8.0_66
PATH=/opt/support_linux_x64/objectsjava/bin:$PATH

檢查iServer依賴環境&安裝iServer許可

Linux下,可以通過運行 support_linux_x64.tar.gz 解壓目錄下的一個腳本來檢查安裝iServer依賴,先進入該目錄,然後執行以下命令:

./dependencies_check_and_install.sh install -y

若安裝的iServer沒有該腳本,請參考iServer幫助文檔解決Linux下依賴問題。

安裝許可

Windows下,進入 support_win_x64.zip 解壓目錄下的 SuperMapLicenseCenter 目錄,運行 SuperMap.LicenseCenter.exe 即可,初次安裝SuperMap GIS軟體運行該程序會安裝許可驅動並自帶3個月試用許可。
  Linux下,進入 support_linux_x64.tar.gz 解壓目錄/SuperMap_License/Support下,執行以下操作:

tar -xvf aksusbd-2.4.1-i386.tar #解壓許可驅動安裝包,以實際版本為准
cd aksusbd-2.4.1-i386 #進入安裝目錄,以實際解壓目錄為准
./dinst #安裝許可驅動

   首次安裝自帶3個月試用許可。

部署iServer

iserver.war iClient.war help.war 放到 { 金蝶安裝目錄 }/domains/{ }/applications 目錄下即可,比如本文放到以下目錄:

Windows F:
Linux /opt/AAS/domains/mydomain/applications

可以在金蝶Web管理控制台應用管理中管理iServer,如圖:

修改金蝶設置

金蝶中間件中可能限制了http方法,此時需要修改中間件設置。瀏覽器訪問金蝶Web管理控制台,在系統參數-Apusic參數中刪除 apusic.http.disabledMethod 項,如圖:

若有http請求方法限制,上述修改操作完成後,需要 重啟金蝶

部署完成,iServer訪問地址: http://{IP 或域名 }:6888/iserver (以金蝶Web管理控制台-應用管理-查看應用模塊-訪問應用進入的地址為准)。

C. pdflib什麼是 PDFlib

PDFlib 是一個功能強大的中間件,專門用於幫助開發者生成 Adobe 可移植文檔格式 (PDF) 文件。它作為用戶程序的後端工具,專注於生成PDF輸出,而將PDF的復雜內部處理交給它來處理。當你需要處理數據並將其轉換為PDF時,PDFlib提供了一套全面的方法,讓你無需深入關注PDF的底層技術,專注於核心業務邏輯。


PDFlib軟體包包含多種功能,基礎版本包括創建PDF輸出所需的一切,包括文本、矢量圖形、圖像和超文本元素。它具備強大的格式化能力,能輕松處理單行或多行文本的排版,以及圖像的插入和表格的構建。


而PDFlib+PDI的擴展包則進一步增強了功能,它在基礎版的基礎上增加了PDF輸入庫 (PDI),允許你在輸出的PDF文件中嵌入現有的PDF頁面。此外,還提供了pCOS介面,可以查詢導入文檔中PDF對象的詳細信息,如字體列表和元數據等。


更進一步的是PDFlib Personalization Server (PPS),它整合了PDFlib+PDI的功能,並增添了自動填充PDFlib塊的功能。PDFlib塊是頁面上的可填充區域,可以是文本、圖像或PDF頁。用戶可以通過Adobe Acrobat的PDFlib塊插件在互動式界面中創建和編輯這些塊,而PPS則能自動完成填充任務,大大提高了工作效率。這個插件已隨PPS一起提供。




(3)中間件pdf擴展閱讀

PDFLib是用於創建PDF文檔的開發庫,提供了簡單易用的API,隱藏了創建PDF的復雜細節且不需要第3方軟體的支持。PDFLib庫對於個人是免費的,對於商業產品需要購買許可。

閱讀全文

與中間件pdf相關的資料

熱點內容
向右轉英語怎麼讀app 瀏覽:572
c英文版pdf 瀏覽:590
了不起的程序員2021出版日期 瀏覽:195
程序員那麼可愛下載在線 瀏覽:134
pdf密碼如何取消 瀏覽:541
windows編程按鈕 瀏覽:172
酷狗歌曲儲存的文件夾是哪個 瀏覽:915
dw如何啟動php 瀏覽:748
加油app充了如何退款 瀏覽:472
加密用戶體驗計劃 瀏覽:177
編譯原理Java符號表設計 瀏覽:443
小天才app上如何發簡訊 瀏覽:52
sat詞彙pdf 瀏覽:848
java動態編程 瀏覽:458
三菱plc編程軟體安裝教程 瀏覽:595
香蕉科技驗證碼是什麼app 瀏覽:777
權力pdf 瀏覽:362
手游蒼穹變怎麼找不到伺服器登錄 瀏覽:961
單片機與上位機通信 瀏覽:927
pr程序中的格式文件夾 瀏覽:313