2011-01-14 48 views
0

我已經構建了一個應用程序,可以自動填寫PDF中的表單域。然後,它獲得各種資產並將它們組合在一起以生成「印刷準備」產品。所有這些都是使用iTextSharp的魔力來完成的。當表單域被填充後,它們將被平鋪爲文本。問題是,即使嵌入字體,他們也沒有真正以有意義的方式附加到表單字段(如直接文本元素),並且打印機抱怨由於這種情況,pdf正在生成許可錯誤。我研究了一下,它似乎是表單字段的本質。PDF概述文本 - Acrobat序列的自動化

我們正在合作的藝術家要求我們研究一種方法來「平整」從平坦化表單字段創建的文本。我發現使用自定義預設運行PDF優化器可以在Acrobat中使用文本大綱,甚至更好,我可以生成運行此PDF命令的Acrobat序列。問題是序列無法自動完成。

我找到了一個名爲AutoBatch的插件,它允許通過批處理文件在命令行上執行Sequences。缺點是這需要在運行此應用程序的服務器上安裝Acrobat Pro和Plug-in。此外,它似乎是一個矯枉過正的解決方案,以概述文本在pdf中。就我所知,在這一點上iTextSharp可能會允許我執行這個程序化,但在google上搜索這樣的東西會返回很少的結果,而且沒有任何相關性。

所以問題:是否有更好的方法來概述pdf中的文本比我實施的當前解決方案還是我有點卡住?

TLDR; PDF是使用非標準字體生成的。我需要「概述」這些文字才能將其發送給打印機。目前使用AutoBatch Acrobat插件從命令行執行Acrobat序列。似乎過度,想知道是否有人知道更好的方式來自動化字體大綱。

回答

0

我也在印刷環境中,並且使用「箱蓋」形式大量縮短用於生產箱蓋的代碼。
我簡單一點「pdfStamper.FormFlattening = true;」和打印機(施樂DP180和DC5000)在使用PDF時沒有問題。

當我忘記FormFlattening的時候,打印機給出了很多關於PDF的錯誤。

如果您使用的是FormFlattening,那麼請檢查打印機是否安裝了本地字體,以便從打印引擎而不是PDF資源引用字體。

+0

我正在使用FormFlattening,但這是問題的一部分。打印機沒有在本地安裝的字體,他們拒絕爲每個訂單安裝它們。據我瞭解,這個原因是由於對用於藝術的字體的許可限制。 – Shawn 2011-01-18 16:23:30