1. 程式人生 > >實現一個具有百度文庫文件轉換功能的工具類

實現一個具有百度文庫文件轉換功能的工具類

用過百度文庫、豆丁的朋友,都知道,我們只要將文件上傳到這些網站上,就可以實現分享。無論你上傳的是pdfppt,還是doctxtpptx檔案,都會在網頁上顯示給使用者看。從技術上簡單地說,可以分成三步:

1)將格式為x的文件檔案上傳到伺服器;

2)在伺服器上完成文件的相關處理;

3)將處理後的結果展示在網頁上。

其中最關鍵的一步就是(2)。做技術的人都可以很容易地看出來,這類用web應用是用flash顯示出來的。那麼,一個文件檔案,是如何轉換為swf檔案的呢?本文就將為你介紹,如何避免再造車輪的冗餘行為發生,而藉助高效的工具將docpptpdf

等文件檔案轉換為swf格式。比如百度文庫接收使用者上傳的檔案後,顯示在網頁上時是其轉換成的SWF格式檔案。這樣就很適合Web應用了。

一、JODConverter

    首先利用JODConverterdocppttxtdocx等檔案轉換為pdf檔案。然後用SwfToolspdf檔案轉換為swf檔案。JODConverter是一個名叫Java OpenDocument Converter的基於LGPL協議的軟體,用於實現不同的office格式之間的轉換,這些office格式包括Microsoft OfficeOpenOfficeJODConverter

    首先要安裝OpenOfficeJODConverter的功能,基本就是實現了OpenOffice中的另存為的功能。個版本的OpenOffice的下載地址為:

    安裝完OpenOffice後,要記住你的OfficeHome。不同平臺的OfficeHome是不同的。比如你將OpenOffice安裝到Windows“D:\Program Files\OpenOffice.org 3”,那麼這就是你在Windows上的OfficeHome。如果你是Linux使用者,你可能會將OpenOffice安裝到“/opt/openoffice.org3”,這就是你的

OfficeHome。如果你是Mac使用者,在Mac系統的自動安裝後,你需要知道你的OfficeHome“/Application/OpenOffice.org.app/Contents”

二、SwfTools

    然後利用SwfTools就中間生成的pdf檔案,轉換為swf檔案。SwfTools是將各種不同格式的檔案轉換為Adobe Flashswf格式檔案的軟體,可以執行在LinuxMacFreeBSDUnix-like系統以及Windows系統上。它可以實現pdfaviwavpngjpeggif等格式向swf

1WindowsLinuxMac使用者可以忽略)

1)下載安裝swftools

安裝目錄:D:\Program Files\swftools

2)將不同格式的檔案轉換為SWF

使用安裝目錄下的轉換命令:

  1. avi2swf inputFile -o outputFile  
  2. font2swf inputFile -o outputFile  
  3. gif2swf inputFile -o outputFile  
  4. jpeg2swf inputFile -o outputFile  
  5. pdf2swf inputFile -o outputFile  
  6. png2swf inputFile -o outputFile  
  7. wav2swf inputFile -o outputFile  

2LinuxWindowsMac使用者可以忽略)

1)安裝依賴庫

  1. sudo apt-get install libpng12-dev  
  2. sudo apt-get install libjpeg62-dev  
  3. sudo apt-get install libgif-dev  
  4. sudo apt-get install libfreetype6-dev  

2)安裝swftools
  1. wget http://www.swftools.org/swftools-0.9.1.tar.gz  
  2. tar zxvf swftools-0.9.1.tar.gz  
  3. cd swftools-0.9.1  
  4. ./configure  
  5. make  
  6. sudo make install  

3)將其他檔案格式轉換為SWF

參考Windows平臺上的SwfTools使用。

3MacWindowsLinux使用者可以忽略)

1)安裝swftools

最簡單的方式,是用macportfink等來安裝。macport的命令為:

  1. sudo port install swftools  

MacPort安裝SwfTools,不需要考慮其依賴庫,MacPort會幫助你安裝好。MacPort

2)將其他檔案格式轉換為SWF

參考Windows平臺上的SwfTools使用。

三、Java例項實現各office檔案格式向swf的轉換

建立一個實現型別轉換的工具類,命名為FileConverterUtil,如下:

  1. publicclass FileConverterUtil {  
  2.     publicstatic String fileToSwf(String inputFilePath) {  
  3.         return pdfToSwf(fileToPdf(inputFilePath));  
  4.     }  
  5.     privatestatic String fileToPdf(String inputFilePath) {  
  6.         //...
  7.     }  
  8.     privatestatic String pdfToSwf(String inputFilePath) {  
  9.         //...
  10.     }  
  11. }  


然後分別實現fileToPdfpdfToSwffileToPdf中使用到JODConverterAPI,如下:

  1. import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;  
  2. import org.artofsolving.jodconverter.office.OfficeManager;  
  3. import org.artofsolving.jodconverter.OfficeDocumentConverter;  
  4. import java.io.File;  
  5. privatestatic String fileToPdf(String inputFilePath) {  
  6.     DefaultOfficeManagerConfiguration config = new DefaultOfficeManagerConfiguration();  
  7.     String officeHome = getOfficeHome();  
  8.     config.setOfficeHome(officeHome);  
  9. 相關推薦

    實現一個具有文庫轉換功能工具

    用過百度文庫、豆丁的朋友,都知道,我們只要將文件上傳到這些網站上,就可以實現分享。無論你上傳的是pdf、ppt,還是doc、txt、pptx檔案,都會在網頁上顯示給使用者看。從技術上簡單地說,可以分成三步: (1)將格式為x的文件檔案上傳到伺服器;

    【更新】免費下載文庫

    如題 from Pleiades_Antares 線上下載地址: 免費下載文件地址,無需下載相應軟體! 冰點下載器 最新版本下載 無需積分就可以自由下載百度、豆丁、丁香、MBALib、道客巴巴、Book118等文庫文件,無需註冊和登入。下載的文件最終生成高清晰度的pdf格式文件。 支援

    文庫免費下載的方法

    線上複製 百度文庫怎麼複製 無意中看到的一個方法,就是在地址前面加上wap這三個字母 進入wap版的文庫. 便可複製了. 舉個例子. ‍下面這是一個文件: http://wenku.baidu.com/view/b9ee0694dd88d0d233d46a

    冰點文庫下載器,免積分下載文庫

    1、軟體介紹: 冰點下載器是一款免積分免登陸文件下載神器,無需積分就可以自由下載百度、豆丁、丁香、MBALib、道客巴巴、Book118等文庫文件,無需註冊和登入。下載的文件最終生成高清晰度的pdf格式文件。 2、功能特色: 1. 支援百度、豆丁、丁香、暢享、MBALib、道客巴

    文庫 下載券 代下載 原格式不變

    最近寫論文發現一個特別好用的網站 可以下載百度文庫的下載券文件 每一篇文件才一毛錢,只要知道文件連結,然後秒下 http://wodechengcheng.com/wenku/ 自己記錄下,也給大家分享下

    在windows下使用cmd命令全速下載

    use line idt 鏈接 http 後綴 com 字符 了吧 在windows下使用cmd命令全速下載百度雲文件 需要的工具BaiduPCS-GO(鏈接:https://pan.baidu.com/s/19Sn8gmNi_GZHJwUPu79DPg 密

    UUID產生一個名的工具

    random div uid blog cnblogs turn ret ner domu 1.FileUtils.java package Utils.GenerateNewFileName; import java.util.UUID; public

    如何破解文庫的防複製功能

    如何破解百度文庫的防複製功能 1、在使用360瀏覽器的情況下 以任意一篇文件為例,當我們複製的內容過多時,就會出現如下 這時選中要複製的文字且點選右鍵,會出現如下內容 點選儲存為文字,就會在你指定的地方(如桌面)建立txt文件。 這個時候就可以在txt文件裡面複製,貼上到任何

    java仿文庫-使用SWFTools轉換pdf檔案

    /** * */ package com.zxjxw.framework.util; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import jav

    C#的DES加解密工具

    C# DES文件加解密 using System; using System.Collections.Generic; using System.Text; using System.Security.Cryptography; using System.IO; namespace ww

    操作的工具

    direct str 方式 cnblogs 獲取文件 exception 內容 source let 相關代碼如下:包含創建文件,創建目錄,創建壓縮文件,獲取文件等相關操作。 public class FileUtil { private static fina

    用MyEclipse將java轉換成UML

    lan 網上 uml b2c water 的人 通用 其他 gravity 用MyEclipse將java文件轉換成UML類圖 參考: 用MyEclipse將java文件轉換成UML類圖 - 君臨天下的博客 - CSDN博客 http://blog.csdn.net/da

    properties讀寫工具PropertiesUtil.java

    prop ace sys pan str pri finally res println import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException

    Spring-Boot ? ShapeFile讀寫工具+接口調用

    void while har ble mage cto next() bound 添加 一、項目目錄結構樹 二、項目啟動 三、往指定的shp文件裏寫內容 (1) json數據【Post】 {

    java web通過openoffice實現網頁預覽(類似文庫

      最近研究了一下在網頁上預覽文件(包括office文件和txt、pdf),發現用openoffice+FlexPlayer實現比較理想,就參考了https://blog.csdn.net/ITBigGod/article/details/80300177#commentBox這個部落格自己研究了一下。原始碼

    免費提取文庫 doc

    ont str 福利 文檔 image soft 其他 alt gin 首先說明,今天要推薦的這款軟件,不能不能不能免費提取百度文庫裏 PDF 格式的文件。 對於其他的格式,無論收費與否都能免費提取。 只是口頭說說免不了耍流氓的嫌疑,舉栗如下: 百度文庫裏《喜迎黨的十九大知

    文庫搜尋0下載券的方法:刪除VIP這段程式碼就行。

    正常時,把搜尋條件選為0下載券,會提示你加入VIP,真噁心。 按圖中方法,先把搜尋條件選為0下載券搜尋,提示上面右鍵,審查元素,刪除VIP這段程式碼就行。 可以用360瀏覽器 廣告攔截外掛,選手動遮蔽網站廣告,加入這個元素進去就行。 自定義過濾規則:wenku.ba

    自從學會Python後,進入文庫都是無視VIP的,所有免費下載閱讀!

    最近要用到百度文庫查資料,但是很多都需要付費VIP或者下載券,還不能複製,就有點苦逼! 還好小編會Python,在Python面前真的所有VIP都是小意思,啥視訊網站,資料網站等等,統統無視收費機制! 今天就給大家分享一下如何突破百度文庫VIP限制! 大家需要破

    文庫免費下載網站(只能下載點券

    百度文庫免費下載網站:https://baidu3888.com,不要把https去掉哈 筆者最近發現了一個不錯的網站,可以免費下載百度文庫中需要點券的文件(不論文件需要的點券是多少,每次下載只需要支付5毛錢,筆者覺得還是很划算的)。 目前網上有一些號稱能下載百度文庫的軟體大都是假的,或者是OCR抓取的,

    word在頁面上瀏覽,類似文庫形式

    1、伺服器上已經上傳有需要的word文件,目前需要做的是將word文件按百度文庫的樣子顯示在頁面上,直接顯示不可以,需要兩個軟體,openoffice和swftools工具,其中openoffice安裝在C:/Program File/OpenOffice 4/下,啟動op