安裝 Acrobat Reader。
然後使用此命令將一個 PDF 文檔列印到 Laserjet 列印機:
#cat mydocument.pdf | acroread -toPostScript | lp -dmylj2200
要只是列印其中的某些頁:
#cat mydocument.pdf | acroread -toPostScript -start 5 -end 15 | lp -dmylj2200
——————————————————————————
實話實說,此命令非我想的,我沒有做過類似任務,這個是某人在用hpunix的時候命令行列印所用的,這里只是鐵一下,good luck
B. 打開了一個PDF,然後我發現右上角不是這個PDF的名稱卻是顯示TO某家公司,為什麼
正文:這是PDF編輯器平台打的廣告,你關閉後再次打開就會顯示你自己的PDF名稱了。首先我們在手機中接受查看pdf文件需要使用到專業的PDF閱讀器,這個時候就需要打開手機中的軟體商店搜索pdf閱讀器進行下載安裝!將搜索到的輕快pdf閱讀器安裝在手機中。為什麼選擇這款PDF閱讀器的原因是因為這款閱讀器具有基本的編輯功能,在手機中使用這款閱讀器可以對pdf文件進行編輯修改!打開安裝完成的閱讀器,進入到軟體界面,通過右上角的添加按鈕進入到文件添加界面,將需要查看的pdf文件添加到閱讀器中。
文件添加完成後在閱讀器首頁即可查看到文件,每個文件名稱後面都會有一個選項按鈕(豎狀三點形狀)。點擊名稱後的三點選項即可彈出「重命名」和「刪除」選項,點擊重命名即可修改文件名稱。點擊「刪除」選項即可刪除該文件,註:文件刪除後不可恢復,請謹慎刪除。如需要修改文件內容可點擊文件名稱進入到閱讀界面,根據閱讀界面右上角四個功能選項以及長按文字1-2秒即可編輯修改文字內容。操作環境:【華為手機鴻蒙OS2.0 手機版本號2.0.0208】
拓展資料:
1、pdf是portable document format的縮寫,意思是「攜帶型文檔格式」。它是由 Adob_e Systems 開發的一種文件格式,用於獨立於應用程序、操作系統和硬體的文件交換。 Pdf 文件基於 postscript 語言圖像模型。無論使用何種列印機,都能保證准確的色彩和准確的列印效果,即PDF會忠實再現原稿的每一個字元、顏色和圖像。攜帶型文件格式是一種電子文件格式。這種文件格式獨立於操作系統平台,即PDF文件在windows、UNIX和Apple的Mac OS操作系統中很常見。這一特性使其成為互聯網上電子文檔分發和數字信息傳播的理想文檔格式。越來越多的電子書、產品說明、公司公告、網路資料和電子郵件開始使用PDF文件。
2、Adobe設計了PDF文件格式來支持跨平台多媒體綜合信息的發布和發布,特別是為網路信息發布提供支持。為了實現這一目標,PDF具有許多其他電子文檔格式無法比擬的優勢。 pdf文件格式可以將與設備和解析度無關的文本、字體、格式、顏色以及圖形和圖像封裝在一個文件中。格式文件還可以包含電子信息,例如超文本鏈接、聲音和動態圖像。支持專業文件,集成度高,安全可靠。
3、對於普通讀者來說,PDF製作的電子書具有紙質書的質感和閱讀效果,能夠真實呈現原書原貌,並且可以任意調整顯示尺寸,為讀者提供個性化的閱讀方式。技術要點pdf主要由三種技術組成。派生自postscript生成和輸出圖形;pdf標志系統內嵌字體,字體隨文件傳輸;結構化存儲系統將這些元素和任何相關內容綁定到單個文件中,並帶有適當的數據壓縮系統。Pdf 文件使用行業標准壓縮演算法,通常比 postscript 文件更小,易於傳輸和存儲。它也是頁面獨立的。一個PDF文件包含一個或多個「頁面」,可以單獨處理每一頁,特別適合多處理器系統的工作。此外,一個PDF文件還包含文件中使用的PDF版本以及文件中一些重要結構的定位信息。由於其優勢,PDF逐漸成為出版行業的新寵。
C. PDF格式是怎麼創建的可不可以編輯
PDF文件製作方法
PDF文件目前已經是電子文檔的事實標准,它體積小,傳輸方便而且文檔內容清晰豐富。生成PDF文檔的方式有很多種,可以購買專門的製作軟體,如Abode Acrobat是其中最專業的,但是價格昂貴,不願意使用盜版的可以使用其它方法生成。本文主要是介紹在 Windows 下生成PDF的幾種方法,所用軟體完全Free。而且生成的質量很不錯。至於Linux下則方法更多。以後有機會詳細介紹。
一、用Postscript? Printer + Ghostscript 生成
這是利用Postscript Printer先生成PS文件,然後利用Ghostscript將PS文件轉換為PDF文件。首先需要下載以下幾個文件:
1、Postscript? Printer 驅動。雖然其它的列印驅動也可以使用,但我推薦使用Adobe的驅動,可以在Adobe的網站下載,有2個文件可供下載:Winstchs.exe (中文簡體)和 winstcht.exe(中文繁體)。可以根據需要下載。
2、中文PPD文件。PPD是Postscript Printer Description 的意思,也就是Postscript列印機描述文件。裡麵包含了字體,列印頁面等的一些描述。Postscript列印機需要這些文件。推薦使用Adobe提供的Adobe PPD文件,是一個壓縮包:adobe.zip。裡麵包含了簡體和繁體的列印機說明。
3、Ghostscript程序。目前Windows的最新的版本是8.14,下載gs814w32.exe。這是一個自由軟體。可以分析PS文件,並可以將PS文件轉換成PDF文件。而且它還是下面要安裝的程序(GSview)的底層驅動。
4、GSview是一個查看PS和PDF文件的工具。它是目前查看這類文件最快的軟體,要比Acrobat Reader快的多。但是沒有Acrobat Reader漂亮。下載最新的4.6版 gsv46w32.exe。安裝它之前必須安裝Ghostscript,因為Ghostscript是它的底層驅動。
下了安裝這些軟體。安裝Ghostscript和GSview很方便,直接安裝即可。記著先安裝Ghostscript後安裝GSview,而且在安裝Ghostscript時也順便安裝好字體。
安裝大約驅動有些麻煩。首先解壓adobe.zip到一個目錄中,這里假設下載到C:\downloads\adobe中。然後運行Winstchs.exe安裝Postscript 驅動。
以下是安裝要點:
安裝到「列印機連接類型時」,選擇「本地列印機」;列印埠選擇「FILE: 本地埠」;然後是選擇列印機型號,這里很重要,點擊「瀏覽」,找到C:downloadsadobe目錄,這時回顯示5個型號的列印機,我們一般需要一個即可,「Acrobat Distiller CS」表示中文簡體,「Acrobat Distiller CT」則是中文繁體。選擇好簡體然後確定。後面就直接下一步就很快可以安裝好了。
安裝好以後計算機可能需要重啟,之後你會看到你的計算機會多處一個列印機,列印機名就是「Acrobat Distiller CS」。這就是安裝好後的Postscript列印機了。如果你有多個列印機的話,也可以設為默認列印機。
那如何製作PDF文件呢?也比較簡單。首先用Word等寫作工具編輯好文檔。然後選取列印機為「Acrobat Distiller CS」開始列印。這時會出現一個對話框標題是「列印到文件」,你可以選擇列印出的PS文件名以及路徑。另外文件名後綴是ps而且保存文件類型選擇「所有文件」。不要使用prn,否則還需要該為ps,主要是因為GSview自動與ps文件關聯。可以雙擊直接打開ps文件。
下來直接雙擊生成的ps文件,GSview程序會打開它,你也可以瀏覽用GSview看看列印的效果。如果不錯就可以開始轉換為pdf文件了。選擇「File」下的「Convert」開始轉換,裡面也有一些選項可以選擇,如轉換多少頁,解析度選擇多少,輸出的文件名等等。而輸出的文件名後綴必須是pdf。更詳細的轉換選項可以在「Convert」對話框的「Properties」里進行詳細設置。不過一般只要這些默認值便可輸出漂亮的PDF文件了。
現在你可以使用Acrobat Reader打開你生成好的PDF文件好好欣賞一下了。
舉個例子,一個大約5.7M包含圖片的Word文檔,列印成PS文件大小是5.6M,而最後生成PDF文件的大小則是只有1.5M。這對於網路傳輸文檔是很方便的,而且可以防止別人修改你的文件。如果用Acrobat打開PDF的話,就另當別論了,因為Acrobat本身就有PDF編輯功能,當然它也是一個很貴的軟體。
提醒:
最近一直有看過這篇文章的朋友給我發信說生成的PDF文件中有亂碼,我考察以後發現問題出在gsview的一些設置上,現在將具體的解決方法寫在下面:
用gsview打開一個ps文件以後,選取File->Convert,處來一個對話框,點取Properties,再處來一個對話框,設置如下選項:
CompatibilityLevel 設為 1.3或1.4 PDFSETTINGS 設為 /default EmbedAllFonts 設為 True這樣就可以正常的輸出中文PDF文件了。
二、用OpenOffice生成
這是一個非常簡單的方法。OpenOffice是一個開源的自由Office軟體,目前功能我認為已經很不錯了,而且在Windows下的速度也不錯,其實它主要還是支持Linux等Unix類操作系統。簡體中文版可以在它的中文網站下載。下載簡體中文版即可,目前最新版是1.1.2。文件大小大概有上百M。
下載後安裝即可。安裝比較簡單,這里不再介紹。
它的使用和Word很想像,很容易上手,而且可以兼容Word、Excel、PowerPoint文檔,這些文檔它都可以打開。因此你可以用它來編輯MS Office文檔,也可以編輯它自己的OpenOffice文檔。
至於生成PDF,那是一個非常簡單的事情。可以在工具欄直接點擊「直接輸出PDF」按鈕或者在「文件」下選取「輸出成PDF」就可以非常容易的生成PDF文件。它生成PDF文件的質量也比較高。
三、用TeX/LaTeX生成
這種方法比較高級,生成的可定製選項非常多。涉及到TeX/LaTeX的許多知識,還要有專門的生成環境(latex、fptex等)。以後有專門的專欄講解TeX/LaTeX。這里只是簡單介紹一下它生成文件的流程。
編輯好tex文件後有有3個方法可以將tex源文件轉換為pdf。
1、運行tex或latex程序由tex源文件生成dvi文件,再運行dvipdfm程序將dvi文件轉換為pdf文件。
2、運行tex或latex程序由tex源文件生成dvi文件,再運行dvips程序將dvi文件轉換為ps文件,然後運行ps2pdf將ps文件轉換為pdf,或者運行GSview將ps文件轉換為pdf文件。
3、直接運行pdftex或者pdflatex由tex文件直接生成pdf文件。
有興趣TeX/LaTeX的可以看看這個入門文件《The Not So Short Introction to LateX2e》中文版。
這幾種方法中,第二種最簡單,非常容易轉換。對於不想用OpenOffice的,也可以使用第一種方法。第一種方法生成步驟比第二種麻煩一些,但是質量確非常高。而第三種方法則用的不多,而學術界則用的比較多,因為在論文排版、書稿撰寫等方面,TeX/LaTeX比Word排出的效果要好的多,很多國際包括國內的學術刊物對於投稿的要求都是要求TeX格式。
對於想使用盜版軟體的人來說,化幾塊錢(可憐正版要好幾千RMB啊)買個Adobe Acrobat 最新的6.0,安裝以後,計算機會增加一個列印機「Adobe PdfWriter」,以後需要生成PDF文檔時,只要選擇這個列印機,則自動會輸出PDF文件。不過還是不要使用盜版的好,人家編個軟體也不容易
D. 由Postscript文件轉換成的PDF文件,這種pdf文件如何轉換成Word
1. PDF轉TXT
1)PDF 是否為圖片,如果是就不能直接轉,得通過OCR識別成文字,ABBYY FineReader OCR Pro 10 簡體中文破解版(迅雷下載)、Readiris Pro 12 (電驢下載),當然也可以識別文本的PDF文檔。
2)如果 PDF 不是圖片,轉單個的 PDF 最好用的是福昕閱讀器 Foxit Reader ,界面下,文件>另存為,選TXT格式,閱讀器版本要高一點的,低版本不能轉存;
3)有保護的文檔,PDFDecrypt 或 PDF Password Cracker v3.1非Pro版,解密後再轉換;不行的話,截圖+OCR識別;
4)PDF 批量轉TXT,下載 Atrise ToTXT 或者 AnyBizSoft PDF to TXT,這兩個軟體很好用,其它的軟體很多轉出來會亂碼。
2. PDF 轉圖片
用 Zan Image Printer破解版。
3.PDF 轉 Office 文檔
用 Nitro Pdf Professional,電驢下破解版,牛的軟體,按原樣轉換,有強大功能,完成多種格式與 PDF 的互轉、PDF 的修改。
4. PDF 文檔修改
Foxit Reader 自帶的 PDFEdit.exe 可以做簡單的局部修改。
Adobe Acrobat Professional 9 做全文編輯比較好。
----------------------------------------------------------------------------------------------------
轉好的TXT文件可以用版本高點的EmEdit來編輯。
E. 如何免費pdf全部轉化為word版
找軟體PDF To Word Converter,最好是找破解版或者是綠色版的,還有也可以在線聯網將PDF轉為word文件
轉出來的Word文件就可以正常進行編輯操作了。
F. 如何用java將pdf文件轉換成word文件
需要用到插件jacob,自己去下載吧。
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class D2P {
private ActiveXComponent wordCom = null;
private Object wordDoc = null;
private final Variant False = new Variant(false);
private final Variant True = new Variant(true);
/** *//** *//** *//**
* 打開word文檔
*
* @param filePath
* word文檔
* @return 返回word文檔對象
*/
public boolean openWord(String filePath) {
//建立ActiveX部件
wordCom = new ActiveXComponent("Word.Application");
try {
//返回wrdCom.Documents的Dispatch
Dispatch wrdDocs = wordCom.getProperty("Documents").toDispatch();
//調用wrdCom.Documents.Open方法打開指定的word文檔,返回wordDoc
wordDoc = Dispatch.invoke(wrdDocs, "Open", Dispatch.Method,
new Object[] { filePath }, new int[1]).toDispatch();
return true;
} catch (Exception ex) {
ex.printStackTrace();
}
return false;
}
/** *//** *//** *//**
* 關閉word文檔
*/
public void closeWord() {
//關閉word文件
wordCom.invoke("Quit", new Variant[] {});
}
/** *//** *//** *//**
* * 將word文檔列印為PS文件後,使用Distiller將PS文件轉換為PDF文件 *
*
* @param sourceFilePath
* 源文件路徑 *
* @param destinPSFilePath
* 首先生成的PS文件路徑 *
* @param destinPDFFilePath
* 生成PDF文件路徑
*/
public void docToPDF(String sourceFilePath, String destinPSFilePath,
String destinPDFFilePath) {
if (!openWord(sourceFilePath)) {
closeWord();
return;
}
//建立Adobe Distiller的com對象
ActiveXComponent distiller = new ActiveXComponent(
"PDFDistiller.PDFDistiller.1");
try {
//設置當前使用的列印機,我的Adobe Distiller列印機名字為"Adobe PDF"
wordCom.setProperty("ActivePrinter", new Variant("MS Publisher Color Printer"));
//設置printout的參數,將word文檔列印為postscript文檔。目前只使用了前5個參數,如果要使用更多的話可以參考MSDN的office開發相關api
//是否在後台運行
Variant Background = False;
//是否追加列印
Variant Append = False;
//列印所有文檔
int wdPrintAllDocument = 0;
Variant Range = new Variant(wdPrintAllDocument);
//輸出的postscript文件的路徑
Variant OutputFileName = new Variant(destinPSFilePath);
Dispatch.callN((Dispatch) wordDoc, "PrintOut", new Variant[] {
Background, Append, Range, OutputFileName });
System.out.println("由word文檔列印為ps文檔成功!");
//調用Distiller對象的FileToPDF方法所用的參數,詳細內容參考Distiller Api手冊
//作為輸入的ps文檔路徑
Variant inputPostScriptFilePath = new Variant(destinPSFilePath);
//作為輸出的pdf文檔的路徑
Variant outputPDFFilePath = new Variant(destinPDFFilePath);
//定義FileToPDF方法要使用adobe pdf設置文件的路徑,在這里沒有賦值表示並不使用pdf配置文件
Variant PDFOption = new Variant("");
//調用FileToPDF方法將ps文檔轉換為pdf文檔
Dispatch.callN(distiller, "FileToPDF", new Variant[] {
inputPostScriptFilePath, outputPDFFilePath, PDFOption });
System.out.println("由ps文檔轉換為pdf文檔成功!");
} catch (Exception ex) {
ex.printStackTrace();
} finally {
closeWord();
wordCom=null;
//釋放在程序線程中引用的其它com,比如Adobe PDFDistiller
ComThread.Release();
}
}
public static void main(String[] argv) {
D2P d2p = new D2P();
d2p.docToPDF("d:/12.doc", "d:/1p.ps", "d:/1p.pdf");
//這里是你建一個叫12.doc的word文檔,生成的文檔將在D盤下
//1p.ps和1p.pdf(這是我們要的)
}
}
G. 如何將pdf格式文件轉換成word格式文件
1.Office組件把PDF轉成Word:
可以利用Office 2003中的Microsoft Office Document Imaging組件來實現PDF轉WORD文檔,也就是說利用WORD來完成該任務。方法如下:
用Adobe Reader打開想轉換的PDF文件,接下來選擇「文件→列印」菜單,在打開的「列印」窗口中將「列印機」欄中的名稱設置為「Microsoft Office Document Image Writer」,確認後將該PDF文件輸出為MDI格式的虛擬列印文件。
注:如果沒有找到「Microsoft Office Document Image Writer」項,使用Office 2003安裝光碟中的「添加/刪除組件」更新安裝該組件,選中「Office 工具 Microsoft DRAW轉換器」。
然後,運行「Microsoft Office Document Imaging」,並利用它來打開剛才保存的MDI文件,選擇「工具→將文本發送到Word」菜單,在彈出的窗口中選中「在輸出時保持圖片版式不變」,確認後系統會提示「必須在執行此操作前重新運行OCR。這可能需要一些時間」,不管它,確認即可。
注:對PDF轉DOC的識別率不是特別完美,轉換後會丟失原來的排版格式,所以轉換後還需要手工對其進行排版和校對工作。
以上僅在word2003中可用,其他版本沒有Microsoft Office Document Image Writer。
2.利用第三方工具軟體:
ScanSoft PDF Converter For Microsoft Word
下載地址:
http://www.mydown.com/soft/245/245551.html
3.ASP.Net實現將Word轉換PDF格式:
一:必備工具
安裝必須的工具MS VS.Net2003,MS Office2003,Adobe Acrobat 7.0 Professional,postscript.exe,gs811w32.exe
MS VS.Net2003的安裝不說明
MS Office2003的安裝不說明
Adobe Acrobat 7.0 Professional安裝說明
運行setup.exe文件,出現輸入序列號,就運行注冊機,用滑鼠在第一行刷下就可以看見序列號,復制粘貼到Adobe Acrobat 7.0 Professional安裝程序對話框,安裝到最後出現注冊時,點擊PHONE...將安裝程序中顯示的第二行序列號(第一行是剛才注冊機生成的序列號)復制粘貼到注冊機的第二行,點擊右邊的按鈕,再用滑鼠刷第三行授權號就出來了,將其復制粘貼到安裝程序的最後一行,完成安裝注冊!
postscript.exe默認安裝就可以了,它是一個PDF轉換時所需要的腳本
gs811w32.exe默認安裝就可以,它其實是個PDF虛擬列印機的驅動
二:配置虛擬列印機
進入Windows的控制面板,進入列印機,點擊"添加列印機"圖標.在安裝對話框上"按一步",出現選擇列印機時,在製造商一欄中選擇"Generic",在列印機一欄中,選擇"MS Publisher Color Printer",然後一路按下一步,知道安裝結束.
三:開始寫第一個程序(腳本程序)
為什麼要使用腳本程序進行轉換呢,其實實際測試過程中,使用PDF Distiller的對象引用到C#後,轉換成功,但整個PDF Distiller對象不能釋放,第二次再轉換時,就發生了錯誤,故此處使用腳本程序實現轉換.這樣我們只要在C#的程序中調用腳本程序就可以實現WORD到PDF的轉換。
宿主腳本文件名:ConvertDoc2PDF.js
腳本文件內容:
var files = WScript.Arguments;
var fso = new ActiveXObject("Scripting.FileSystemObject");
var word = new ActiveXObject("Word.Application");
var PDF = new ActiveXObject("PDFDistiller.PDFDistiller.1");
word.ActivePrinter = "MS Publisher Color Printer";
//files(0) 為WORD文檔文件名
//files(1) 為,轉換後需要保存的路徑
//調用fso.GetBaseName(files(0))後,為無路徑,無擴展名,的文件名
//files.length為文件參數的個數,使用循環可以支持多個WORD文檔的轉換
var docfile = files(0);
var psfile = files(1) + fso.GetBaseName(files(0)) + ".ps";
var pdffile = files(1) + fso.GetBaseName(files(0)) + ".pdf";
var logfile = files(1) + fso.GetBaseName(files(0)) + ".log";
try{
var doc = word.Documents.Open(docfile);
//WORD文件轉成PS文件;
word.PrintOut(false, false, 0, psfile);
doc.Close(0);
//PS文件轉成PDF文件;
PDF.FileToPDF(psfile,pdffile,"");
fso.GetFile(psfile).Delete();//刪除PS腳本文件
fso.GetFile(logfile).Delete();//刪除轉換的日誌文件
word.Quit();
WScript.Echo("isuccess");//成功
WScript.Quit(0);
}
catch(x)
{
word.Quit();
WScript.Echo("isfail");//失敗
WScript.Quit(0);
}
然後測試該腳本程序
啟動MS-DOS,輸入如下命令:
c:\>cscript //nologo c:\ConvertDoc2PDF.js c:\test.doc c:\
說明:
運行成功後將看到test.pdf文檔了
c:\test.doc參數對應的是腳本程序中的files(0)
c:\參數對應的是腳本程序中的files(1)
你可以安照該腳本改寫成,支持多個參數,使用FOR循環,一次轉換多個WORD文檔,此處沒有使用多個文件轉換功能,是考慮到,該段腳本放在C#的線程中執行,這樣一來也可以轉換多個WORD文檔.
四:使用C#調用ConvertDoc2PDF.js腳本
新建一個C#的WINDOWS應用程序,添加一個按鈕button1
添加一個函數,函數名StartConvertPDF
public void StartConvertPDF()
{
Process proc = new Process();
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.WorkingDirectory = @"c:\";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true; //輸入重定向
proc.Start();
proc.StandardInput.WriteLine(@"cscript //nologo c:\ConvertDoc2PDF.js c:\test.doc c:\");
proc.StandardInput.WriteLine("exit");
proc.WaitForExit();
}
然後在按鈕的CLICK事件中添加調用線程的代碼
private void button1_Click(object sender, System.EventArgs e)
{
//定義線程序
Thread thConvert = new Thread(new ThreadStart(StartConvertData));
thConvert.Start();
}
注意:在測試上面的C#程序時,必須添加如下命名空間
using System.Diagnostics;
using System.Threading;
五:健壯的C#調用代碼(實際考慮,可放在B/S系統中)
完成第4步的C#測試後,細心的讀者,可能看到一點問題,那就是如何得到腳本運行後輸出的結果,如何給線程中調用的StartConvertData方法傳遞參數
1:傳遞參數,此話說來也可用一篇教程告訴大家線程中方法如何來傳遞參數,現在就講一個方案,此種方案很多,我採用一個類,初始化這個類,然後調用該類的方法作為線程執行的方法
2:得到腳本的輸出結果,使用Process對象的輸出重定向,就是說改變輸出方向,使腳本不輸出到控制台(MS-DOS窗口),而是重定向輸出到C#程序中,並採用線程的非同步回調方法,顯示腳本運行結果。
添加一個新類,類名為ToPdf
using System;
using System.Diagnostics;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace Doc2Pdf
{
public class ToPdf
{
private string strWord = "";//此處的WORD文件不含路徑
private string sPath = "";
public string sExecResult = "";
public bool bSuccess = false;
public ToPdf(string sParamWord,string sParamPath)
{
strWord = sParamWord;
sPath = sParamPath;
}
public void StartConvertPDF()
{
Process proc = new Process();
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.WorkingDirectory = sPath;
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;//標准輸入重定向
proc.StartInfo.RedirectStandardOutput = true;//標准輸出重定向
proc.Start();
proc.StandardInput.WriteLine("cscript //nologo "+sPath+"ConvertDoc2PDF.js "+sPath+strWord+ " "+sPath);
proc.StandardInput.WriteLine("exit");
sExecResult = proc.StandardOutput.ReadToEnd();//返回腳本執行的結果
proc.WaitForExit();
proc.Close();
}
public void EndConvertPDF(System.IAsyncResult ar)//ar參數必須寫,是線程執行完成後的回調函數
{
if(sExecResult.IndexOf("isuccess")!=-1)bSuccess=true;
else if(sExecResult.IndexOf("isfail")!=-1)bSuccess=false;
//如果放在B/S系統,你可以在此處寫資料庫,是成功還是失敗,並用一個WEBService程序不斷檢查資料庫,此WEBService程序不放在該回調用函數中
//如果放在C/S系統,回調函數可以不放在類中,以便在窗體程序中調用結果
}
}
}
改寫原來的button1_Click事件中的代碼
private void button1_Click(object sender, System.EventArgs e)
{
ToPdf my2Pdf = new ToPdf("test.doc","c:\\");
ThreadStart thStartConvert = new ThreadStart(my2Pdf.StartConvertPDF); //開始非同步調用線程
thStartConvert.BeginInvoke(new AsyncCallback(my2Pdf.EndConvertPDF),null);//設置非同步線程的回調函數
//如果需要轉換多個WORD,你可以用循環
//如果是B/S系統,可以將本段代碼放在ASPX中,並結合客戶端的無刷新顯示數據的技術,不斷訪問WEBService程序,以確定PDF是否轉換成功或失敗
}
六:編寫更加健壯的C#調用代碼(實際考慮,可放在WINDOWS的服務程序中)
實際使用時,由於轉化PDF時CPU的佔用率很高,考慮只在同一時間轉換一篇WORD文檔,放棄非同步線程的回調函數的使用,考慮一個WINDOWS的服務程序。
寫一個函數CheckData2Convert(),不斷的檢查沒有轉換的WORD文檔,並使用循環調用ToPdf類中執行轉換方法StartConvertPDF
//以下給出,泛代碼,用戶按照自己的需求,填寫完整即可
//bool bStart為全局變數,控制循環的進入與退出
//例:18:30開始檢查並轉換,那麼18:30時,bStart=true;並啟動轉換線程
//6:30停止轉換線程,bStart=fasle;
private void CheckData2Convert()
{
//檢查指定目錄下的沒有轉換的WORD文檔,你同樣可以檢查資料庫中記錄的沒有轉換的WORD文檔
string sPath = System.Threading.Thread.GetDomain().BaseDirectory; //當前的路徑
while(bStart)
{
int iFileCount = CheckWord(); //CheckWord為一個方法,檢查當前沒有轉換的WORD文檔,返回沒有轉換的文件數,該方法的代碼由讀者自己編寫
for(int i=0;i<iFileCount;i++)
{
string sWord = GetWordFileName(i) //GetWordFileName為一個方法,返回一個不帶路徑的WORD文件名,該方法的代碼由讀者自己編寫
//ToPdf類中的StartConvertPDF()方法使用的是不帶路徑的WORD文件名
ToPdf my2Pdf = new ToPdf(sWord ,sPath);
my2Pdf.StartConvertPDF();
if(my2Pdf.sExecResult.IndexOf("isuccess")!=-1)
{
//成功,寫日誌,或回寫資料庫
}
else if(my2Pdf.sExecResult.IndexOf("isfail")!=-1)
{
//失敗,寫日誌,或回寫資料庫
}
}
if(!bStart)break;
Thread.Sleep(1000);
}
}
然後在服務的開始事件中,啟動線程
protected override void OnStart(string[] args)
{
//可以使用一個開始定時器,檢查是否到開始時間,時間一到,就開始執行線程,此處的開始執行線程可以放在開始定時事件中
//可以使用一個結束定時器,檢查是否到結束時間,時間一到,就結束線程,結束線程的代碼可以放在結束定時事件中
//注意:應該使用組件中的定時器,而不是Windows的FORMS中的定時器
//該定時器的類名為System.Timers.Timer,千萬別搞錯,不然執行不會正常的
bStart = true;
Thread thConvert = new Thread(new ThreadStart(StartConvertData));
thConvert.Start();
}
然後在服務的結束事件中,設置停止線程的標識bStart= false
protected override void OnStop()
{
bStart = false;
//為何次處不停止線程呢,因為考慮到,現在線程正在轉換WORD文檔,但沒有結束,所以只設置停止標識,轉換完成後,線程也執行結束了.
}
H. PDF 文件如何打開
或winace生成的壓縮文件
2.ain:ain是一種壓縮文件格式,解開ain需要用ain.exe。在網上可以找到。
可以在各大的FTPpub/msdosutility之類地方尋找ain.exe
3.arj,a01,a02...:
arj是一種非常常見的壓縮文件格式,它可以支持帶目錄,多文件壓縮,
一般FTP中DOSutility目錄下都可以找到arj.exe,一般的版本有2.4
2,2.382.50等,其文件格式是通用的,不存在格式不認問題。
a01,a02,a03是arj在多文件壓縮時後面文件的預設文件名。
展開arj文件可以用arjx-va-yfilename.arj
在windows下可以試試用winzip展開。
4.asp:
.asp文件通常指的是ActiveServerPages文件,這個文本文件可以
包括下列部分的任意組合:文本/HTML標記/ASP腳本命令,可以用
ie瀏覽器直接打開,也可以用記事本打開編輯。
.asp文件也可能是一種文檔格式的文件,可以用cajviewer打開。
5.avi:
一般用windows自帶的媒體播放器就可以播放。
如果沒有圖象只有聲音,則可能是mpeg4格式,需要裝插件。
如果有單獨的字幕文件,則可以用其它播放器。
B:
1.BHX(BINHEX):
BinHex是蘋果機器的一種編碼方式.
WinZip可以解碼.將email以文本方式存檔,擴展名為.BHX,
就可以直接用WinZip解壓了.
2..bin
光碟映象文件,可以:
a.用Bin2ISO將bin轉成ISO文件,然後用WinImage解開.
注意:有些BIN文件實際上就是ISO文件如果上面的辦法有問題
可以直接將後綴改成iso,然後用WinImage解解看
b.用ISOBuster直接解BIN.
c.用daemon直接將BIN文件虛擬成光碟機
C:
1.caj:cajviewer,CAJ文件瀏覽器是中國學術期刊(光碟版)電子雜志社(CAJEJPH)
的產品。它是為中國期刊網()的全文檢索,瀏覽開發的。
2.cdi:光碟映像文件,用DISKJuggle就可以打開
3.cdr:CorelDraw
4.cdp:NtiCdMaker做的光碟Image.用NtiCdMaker的FileCopy刻.
5.cfm:
www瀏覽器(伺服器支持,類似asp,php,jsp)or文本編輯器看源碼
6.chi:chm(htmlhelp)的索引,和chm文件一起使用
7.chm:
基於Html文件格式的幫助文檔,在IE4.0以上可以雙擊直接打開。
製作工具可以採用HtmlHelpWorkShop。
8.cif:是easycdcreator地image文件
9.cpj:
WinONCD的工程文件,不過如果那個Raw文件是2072位元組的扇區的話就是標準的ISO文件
換個擴展名,用什麼刻錄軟體都可以,最差用WinImage直接展開安裝也行。
10.cpx:cpx是一種壓縮過的矢量圖格式,CorelDraw
D:
1.dat:
一般指數據文件,比如某些音碟或者某些應用程序的數據。
是個很通用的擴展名(比如影碟,一般數據,......),無法判斷用那個程序打開,
除非有更多信息,比如這些文件是做什麼用的。
是某個軟體附帶的,還是獨立存在的,等等。
2.dbf:
DOS下:
foxbase
foxpro
DN中F3(view)
Windows:
qview(快速查看)
FoxPro
Office中Excel等.
3.ddi:DISKDUPE,unimg,unddi,undisk
4.dvi:Latex處理過的文件,用任何一種Latex軟體都可看它。
5.dxf:AutoCad,3DMax
6.dxr:
E:
1.ecw:有可能是ENSONIQAudioPCI音效卡的波表樣本
2.emf:擴展的wmf文件
3.eml:outlookexpress
4.eps:
eps是一種特殊的ps文件,通常是嵌入其他文檔中使用.製作這種文件非常簡單:
a)在Windows中安裝一台PostScript列印機(並不是真的要買一台,僅僅是安裝驅動
程序),例如HPLaserJet5P/5MPPostScript,設置其屬性中的PostScript輸出格式為
內嵌的PostScript,列印埠設為FILE(在磁碟上創建文件);
b)在任何繪圖軟體中編輯好圖形後,在列印對話框中將列印機設為那個PostScript
列印機,然後列印到文件,文件名可取為xxx.eps,這將是你所需要的eps文件.
很多常用軟體,比如ACDSee、Word等都可打開eps文件。
F:
1.fcd:用vitrulCD-ROM打開
2.fla:Flash
G:
1gerberfile(.dat.rep.pho文件):電路圖可以送去制板的
2.gif:gif是一種很普遍的圖像格式,用幾乎所有的圖像處理軟體都可以處理gif。
3.gtp:guitarpro
.gtp是2.2以下版本的,3.0版本的是.gp3
H:
1.hlp:編輯可用helpmagic,helpscribe
2.hqx:
hqx格式就是所謂的Binhex4.0文件。
實際是Ascii文件。
在PC上可以用winzip6.2以上解開。
在Mac機上,如果你用Fetch2.0以上來傳
(在隨機的AppleInternetConnectKit上已帶)
可以自動轉成原來的Binary文件。
一般來說,你down了hqx格式的文件在PC上是派不上
什麼用場的,當然你可以用來和別人交換word文件什麼的。
I:
1.icl:IconLibrary,用AxIcons打開,一個專用的畫圖標的軟體。
2.ic圖標文件,可以用acdsee轉成bmp文件。
3.idx:cterm非常下載下來的文件索引,用cterm自帶的indexread打開
4.iges:iges是一個基於NURBS的文件格式,可以用AutoCad打開,如果不行,可以可以先拿到rhino中轉成DXF
5.img:
img是軟盤image文件,一個img就是一個軟盤,尼需要一個工具將這樣
的文件展開還原到軟盤上,就是hd-,
6.is
一般是光碟鏡像,直接用來刻盤或者用winimage解開
也可以裝一個虛擬光碟軟體daemon直接將之虛擬成光碟。
J:
1、.jpg,.jpeg:
.jpg是一種高壓縮比的真彩圖像文件格式,一般的圖像處理軟體都可以
顯示jpg圖像。推薦使用的看jpg程序有:在DOS下sea,在windows下用
acdsee,在UNIX下可以用xv來看jpg。
K:
1、.kc:
可以用king打開。
L:
1.lwp:LotusWordPro格式
2.lrc:一個winamp插件的歌詞文件,可以在放mp3時顯示歌詞。以前叫lricsmate
3.lzh:
lzh是很老的一種壓縮文件格式,近幾年已經很少用了,展開lzh
文件需要lha.exe,在FTP的DOSutility目錄下應該有。
好象以前有一種自解壓然後運行的exe是用lha壓的,lzh用winrar就能解
4.ldb
Access資料庫鎖定文件,紀錄資料庫的鎖定信息,
比如是否被打開,是否以獨占形式訪問等等。
M:1.max:3DMax文件。
2.mdb:MicrosoftAccess資料庫文件
3.mdl:Rose文件
4.mif:一種是MaxPlusII的文件
5.mov:電影文件,用Quicktime打開。
6.mpp:ProjectFile(MsProject)
7.msf:
part1:文件頭,我見到的幾個都是mstor打頭的,文件頭包括版本信息、注冊表
的一些鍵值、圖片的位置信息等等,關系不是很大,不必仔細研究。
part2:圖片序列,圖片都是jpeg格式的,每張圖片的頭可以通過查找"JFIF"字元串查到,查到後一定要後退六個位元組,才是真正的jpeg文件頭。也就是說
jpeg文件的第七到第十個位元組是"JFIF"。每兩張圖片之間會有大量的位元組
填充0,中間你會找到屏保運行時產生的臨時文件的名字,如c:\\1.jpg;
由於jpg文件不校驗位元組和長度的,你可以隨便取到臨時文件名上面的哪個
0上。把之間的部分拷貝出來另存為.jpg文件就可以了,
part3:圖片都取出來了,還管它干什麼,呵呵
7.msi:
MSWindows的新的安裝文件標准。已經在Office2000和Windows2000中採用。
98或NT下,可以裝下面的軟體:InstMsi9x.exe,InstMsiNT.exe
N:
1.nb:Mathematica的一種文件格式把。
2.nf
察看方法:
1.文本編輯器都可以看。建議將自動換行設為80列。
專門的查看軟體:
NFOShow1.1是網友寫的,實際效果是我見過最好的,不過有時時會出錯退出。DAMN.NFO.Viewer.v2.0隻有幾十k,很好用,足夠了。還可以在dos窗口下typexx.nfo
3.ngp,.ngc:
是模擬器游戲的文件neopocott0.35b(ngp模擬器)ngp模擬器neopocott升級到
了v0.35b版本,可在win9x,2k,me平台上運行。新版本暫停功能得到修改,支持
了ngc的擴展名文件,可以更好的存儲和讀取文件,增加了對鍵盤的設置等等
4.njx:南極星的字處理軟體的文檔格式
5.nrg:Nero做的CDImage,用nero直接打開刻盤即可
1.opx:Microsoft組織結構圖,用office自帶的組件可以打開,
默認不安裝,需要添加程序。
P:
1.pdf:
pdf是adobe公司開發的一種類似於poscript的文件格式。可以用
adobe的acrobat,arcrbatreader來編輯,打開pdf文件
2.pdg:超星閱讀器SSreader3.52以上版本
3.phtml:cajviewer
4.pl:一般說來是PERLScript,也可能是mp3播放軟體的playlist文件
5.ppt.pps:PowerPoint
6、prn:
prn文件是列印機文件,比如你在Word中選擇"列印到文件"就會生成這種文件。
你可以把擴展名改為ps,然後用GSView打開。
或者用PrFile這個軟體直接把prn文件送到PS列印機列印出來。
7.ps:
ps的意思是PostScript,這是一種頁面描述語言,主要用於高質量列印。
在UNIX和windows下都可以用GhostView來看ps文件。其homepage是
如果你有PoscriptScript支持的列印機,可以直接列印PS文件。
如果你想製做PS文件,簡單的辦法是:在Windows下安裝一個支持PostScript
的列印機驅動程序,比如HP4PS,你不需用非有這個列印機安裝在你的機器上。安裝好
驅動之後,在WIndows下任何一個編輯器中編輯好你需要轉成PS的文件,比如從
Word下。然後選擇"列印",選擇那個PS兼容的驅動程序,然後選擇"printtofile",
它將把列印輸出送到一個文件中去。因為你用了一個Poscript的列印驅動程序,
那麼這個列印文件就是PostScript文件了。將該文件改名字為XXX.ps就可以了。
8.ps.gz:
gzippedpostsript文件,可以用gsview直接打開,其支持gzip
如果是用IE下載的,有可能實際已經解開,可以去掉gz後綴試試。
9.psz:改成*.ps.gz試試,然後用gzip或者winzip解開就是.ps文件了
10.psf:outlinePostScriptprinterfont(ChiWriter)
11.ptl:AUTOCAD做出來的列印文件
Q:
R:
1、.rar,.r01,r02......:
rar是一種壓縮文件格式,在DOS下解開RAR可以用rar.exe,在各大FTP
裡面都可以找到,一般在pub/msdosutility之類地方。需要注意的是rar
高版本壓縮的文件低版本不認。當前最新的rarforDOS是2.X版,如果
能找到2.x版的話最好不要用1.X板的rar,2版的rar文件相互是通用的。
rar的命令行參數幾乎和arj一樣,rarx-v-yfilename.rar
可以展開文件,包括帶目錄和多文件壓縮。
rar多文件壓縮時rar之後的文件名是r00,r01,r02....
DOS下的軟體不支持長文件名,所以如果你的rar裡面有長文件名並且因為
在DOS下展開丟失了得話,可以試試winrarforwin95,支持長文件名。
在各大ftp上應該也可以找到。其所有版本都可以認rar2.X得文件。
2、.raw:
是easycd或者winoncd等軟體做的CDROM的ISO鏡像
RAW屬於MODE1的
3、.raw:
可用Photoshop看。
4、.rom:
是很小的音樂壓縮格式,使用realplayer可以播放。
5、.rom:
是模擬器的文件吧。
6、.rpm:
RPM是RedhatPackageManager的簡寫。
是Linux底下的軟體包管理系統。
到Linux底下用使用rpm來對它進行操作。
7、.rm:
RM文件是一個包含了RA文件URL地址的文件,作用就同M3L與MP3一樣,用於
REALPLAYER在INTERNET上播放RA流。
8、.rmx:
可以用realplayer打開。
9、.rtf:
richtextformat
包含格式的文本,可用於各種編輯器間交換文件,但是體積要比專用格式大很多。可以用word,寫字板打開,一般的支持格式的編輯器都能打開。
S:
1、.sfe:filesplit分割文件。
用filesplit可以把他們合並成原來的zip文件。
或許還有自動合並得bat文件呢。
2、.sfv:
不是文件分割器產生的,是sfv32w產生的,一般用來做windows下的文件校驗。
3、.shar:
ShellArchive,文本格式的打包文件,類似tar,不過tar生成的為binaryfile,在UNIX下sh<*.shar即可解包,或用專門的shar/unsharutilities。
4、.shg:
是microsoft的helpworkshop的圖形處理工具生成的圖形文件,
是用來在help中調用的。
5、.sit:
MacintoshStuffitarchives,
aswellasUUE(uuencoded),HQX(BinHex),bin(MacBinary),ZIP,ARC,
ARJ,andGZarchives
use"AladdinExpander"toexpand
6、.srm:
呵呵,當然是用Kiven電子書庫了.你可以去化雲坊down3.0.12的版本,也可以去的主頁上當最新版.還有源碼的呦.
7、.stx:
SyntaxfileofEditPlus
8、:
是Flash的動畫格式,如果瀏覽器裝了插件,可以用瀏覽器打開,但最好用
FlashPlayerBrowser打開。
9、.swp:
ScientificWordPlace
10、.spw
SigmaPlotWorksheet
T:
1、.tar.GZor.tar:
.tar.gz,或者.tgz的文件一般是在UNIX下用tar和gunzip壓縮的文件。
可能的文件名還有.tar.GZ等。gunzip是一種比pkzip壓縮比高的壓縮程序,一般UNIX下都有。tar是一個多文件目錄打包器,一般也是在unix下。
在UNIX下展開.tar.gz文件用tarzxvffilename.tar.gz就可以了或者用gunzip-dfilename.tar.gz得到filename.tar然後用tarxvffilename.tar解包,兩步完成。
在PC環境下解tgz,可以用winzip6.2以上版本,可以直接打開extract。
建議在win95或者NT下使用winzip,因為很多這樣的文件都是在UNIX下壓縮的,
很可能有長文件名,但是WIndows3.1是不支持長文件名的,however,win31下的winzip也是應當可以展開tgz的。
2、.tar.Z:
.Z的文件一般是在UNIX下用compress命令壓縮的。在UNIX下解開可以用uncompressfilename.Z。在PC下可以用winzip6.2以上版本,建議使用
win95版本的winzip,因為win31不支持長文件名,而UNIX下的文件很
可能是長文件名。但win31下winzip應該也可以解開。
如果是.tar.Z的文件的話可以用uncompress先解開外面一層,然後用
tarxvffilename.tar解開tar文件。在PC下還是用winzip。
3、.tex:
.tex本身是個文本文件,必須經過編譯成dvi文件,使用winLatex就可以,如果你有unix當然會帶TeX或LaTex的。
U:
1、.ufo:
問:這種文件要用什麼程序打開?quickviewplus可以嗎?
答1:使用photoimpact應該可以.
答2:通常是漫畫,可以用冷雨瀏覽來看.
答3:找ufo2jpg.exe可以將ufo文件變成熟悉的JPG
2、.uu,.uue:
.uu是uucode的文件。uucode是一種把8bit文件轉成7bit的演算法。
我們知道,exe文件或者其他二進制文件是不可以直接用email
發出去的。uucode可以把這些文件轉成7bit格式,就是普通文本文件格式
(如下面的樣子),然後就可以被接收方還原。
begin640pass
M("$Y-2V]R<5!1=UI!.C`Z,#I3=7!E`@<F]O=#IB>$Y-2V]R<5!1=UI!.C`Z,#I3=7!E<BU5<V5R.B\\Z+V)I;B]C
M<V@@<WES861M.BHZ,#HP.E-Y<W1E;2!6"B`@(&=U97-T.F-U-&I)=&M%9&HN
M:S(Z.3DX.CDY.#I\'=65S="!!8V-O=6YT.B]U<W(O<&5O<&QE+V=U97-T.B]B
如果你收到一個email是uucode做的,可以把它存成一個文件,將begin640..
之前的部分刪除,然後改文件名為.uu,然後用uudecode解開。
在windows下可以用winzip6.2以上版本。
V:
1、.vcd:
一般是virtualdriver的虛擬光碟機文件
也可以轉換成iso,用daemon打開,參見格式轉換,.vcd->.iso
另外金山影霸的文件也可能是vcd。
2、.vcf:
是地址本文件,用outlookexpress可以打開,(雙擊就可以)。
3、.vob:
DVD數據文件
4、.vos:
VOS是一款強大的電子琴模擬軟體,.vos文件可以用它打開。
5、.vqf:
用Winamp播放,需要裝相應的插件。
備註:VQF是YAMAHA公司和日本NTT公司聯合開發的一種新音樂格式,它的壓縮比比MP3更高,音質卻與MP3不相上下,而它之所以沒有MP3那般出盡風頭,大概與其推出時間較遲以及缺和相應的廣告宣傳有關吧,加之其播放、製作工具目前還不是很豐富,所以知道的人不是很多。但不管怎麼說,VQF的確是一種優秀的音樂壓縮格式。常見播放工具有YamahaVQPlayer等等。
6、.vsd:
visio畫的流程圖
7、.vss:
visiotemplatefile
W:1、.wdl:
Dynadoc,華康文件閱讀器可用dynadoc或FPread32.exe為關鍵字在ftp搜索引擎搜索。
2、.wmf:
WINDOWS的圖元文件,用ACDSEE可以看,WORD也可以打開。
3、.wpd:
WPD是corel公司的wordperfect字處理軟體的文檔的擴展名。
4、.wsz:
winamp的skin,down下來以後是wsz格式ws打開一個winzip先,然後用winzip里的open。。。。。。。
X:
1、.xls:
MicroSoftExcel的文件。
2、.xml:
eXtensibleMarkupLanguage
SGML的一個子集,1998年2月正式發布1.0版
目前IE5.0可支持,可以在IE5.0下瀏覽.xml文件,但同時必須有相應的.xsl文件
才能正常顯示。
Y:
......
Z:
1、.zip:
zip是一種最常見的壓縮格式,在UNIX下解開zip用unzip命令。
在PC下解開zip可以用pkunzip.exe,一般在大ftp裡面都可以找到,
或者用winzip解開。pkunzip-dfilename.zip可以帶目錄結構解開文件。
I. 怎麼才能在pdf格式下閱讀英文可以有查詞功能
Hello,
我覺得這種情況下,可以藉助於有道詞典中的劃詞功能。安裝一個有道詞典,將劃詞功能勾選上。