2010-06-23 49 views
0

我們的客戶擁有數以萬計的Word 2007格式的通信函。他們需要將所有的字母組合成一個單個大型PCL文件,然後將其發送給打印供應商進行批量打印。將數千個Word文檔轉換爲單個PCL文件

從我所瞭解的PCL內容是由特定的打印機驅動程序生成的。因此,無論是通過Document.PrintOut()函數與VBA進行交互式還是以編程方式進行交互式打印時,它都會將內容傳遞給選定/默認打印機驅動程序以輸出PCL格式。

現在,他們有一個現有的.NET 1.1批處理作業,可以從這些Word文檔生成PDF。他們希望使用相同的批處理作業將它們組合到該大型PCL文件中。如果打印機驅動程序涉及該過程,多個Word文檔如何以編程方式「打印」到相同的文件?

回答

0

是否可以根據生成PDF的現有(working!)批處理作業保留PDF輸出?

您可以使用這些PDF,將它們提供給Ghostscript命令並讓Ghostscript輸出PCL。

您的PDF文件是單個文件,每個Word 2007文件一個文件?在這種情況下,你可以這樣運行了Ghostscript的輸出(例如)顏色PCLXL:

gswin32c.exe^
    -dBATCH^
    -dNOPAUSE^
    -dSAFER^
    -sDEVICE=pxlcolor^ 
    -sOutputFile=c:/path/to/big.pcl^
    1st.pdf^
    second.pdf^
    no3.pdf^
    fourth.pdf^
    [....] 

,如果b/w的PCL是不夠好,然後用"-sDEVICE=pxlmono"

注意事項:我不知道,最大是什麼,你可以在命令行一個排隊的PDF文件的數量。如果它應該成爲一個問題,我建議你到所有的PDF文件第一連接成一個單一的big.pdf,使用pdftk.exehttp://www.accesspdf.com/pdftk/):

pdftk.exe^
    1st.pdf^
    second.pdf^
    no3.pdf^
    fourth.pdf^
    [....]^
    cat output^
    big.pdf   # Here: direct control over order of the files in the result 

,或者乾脆使用通配符:

pdftk.exe^
    *.pdf^
    cat output^
    big.pdf   # Here: order of files is alphabetically 

當然,這裏也可能出現一個關於一個命令處理的文件數量限制的問題。但是,通過第二種方法,通過多輪連接首先構建更大的PDF文件變得更容易。無論如何,最後:只需將big.pdf指向Ghostscript即可轉換爲PCL/XL。

+0

以及它真的是成千上萬的文件。 – icelava 2010-07-07 11:24:31

+1

在這種情況下,第二種方法應該可以工作:您必須通過各種中間步驟來構建最終文件,在最後一個文件合併到THEBIG.pdf之前,先通過「pdftk.exe」連接100個PDF文件轉換爲PCL。 – 2010-07-09 10:55:51

0

我同意pipitas現有流程可行的解決方案可以很好地工作。根據他們如何保存爲Word格式,您可以通過使用「另存爲」功能可編程性將其保存爲PDF格式來改善這一點。

我把我的代碼內聯,但它有點亂,只需搜索谷歌的Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF,你應該看到很多這樣的例子。

另一種更符合您的要求的想法是設置一個通用PCL打印機驅動程序(HP LaserJet 4000或類似的)和可編程性打開每個文檔並打印到默認打印機。訣竅是將它們寫入文件。這可以通過幾種方式完成。

使用Redmon或類似的東西允許輸出到文件沒有任何用戶干預。我們有一個適用於XP,2003的工具,它允許在一個非常類似的實例中追加文件,我們需要每天連接9000個打印作業(如果它感興趣,我可以發送一個鏈接)。

另一種方法是使用或編寫一個快速捕獲工具,捕獲端口9100(或515用於LPR)的數據並將該數據寫入文件。應用程序成爲打印機,然後離開你。

添加評論,如果你想提到的項目的任何代碼,我可以把它們貼上它。

0

大多數人都太急於PCL轉換成PDF格式的,因爲他們不知道有工具可以對PCL打印流進行索引,排序,合併和編輯。他們知道有PDF文件,但不適用於PCL。

如果您打印到PDF,您將丟失本來在PCL中的紙張處理功能。如果您只是連接PCL文件,則可能無法按照正確的排序順序獲取它們,並且您可能希望插入用於插入或摺疊設備的OMR標記/條形碼等。

PCLTool SDK - 選項V,它是PCLXForm.exe。 PCLXForm是一個Windows控制檯程序,它具有強大的腳本編程語言,命令行覆蓋和運行時包含功能。 SDK附帶的Port Monitor和HotDir打印捕獲實用程序可以捕獲,重定向和累積多個打印流。但是,它也可以查看它們並確定它們需要的正確順序,將它們轉換爲PCL。 (或者,帶有書籤的PDF,內部/外部索引,與其他文檔合併等)。它還可以將文檔分爲1-7頁,8-15頁等文件夾。而且,郵寄設備或插入徽標的適當OMR /條碼使文檔更像TransPromo。該演示是在www.pagetech.com