列印時蓋上序號/貝茲編號

列印時蓋上序號/貝茲編號

我想列印 50 份相同的 16 頁文檔,但每份上都印有序號。我正在使用 Ricoh/Lanier 多功能印表機進行列印。現在我列印並裝訂lpr如下一行:

lpr -P <printer> -# 50 -o StapleLocation=UpperLeft file.pdf

所以我希望結合其他選項可以實現這一目標。

我研究並發現了各種加浮水印的選項相同的每個文件上的文本,例如“草稿”或“機密”。但我希望每個副本的頂部都有不同的數位浮水印或印章。

我可以使用 PyPDF 編寫一個程式來建立多個文件,每個文件都從來源文件開始,並在其上標記自訂文字。但列印 50 個 16 頁的文件比列印一個文件 50 次所需的時間要長得多。任何建議表示讚賞。

答案1

在理想的情況下,您應該能夠編寫一小段由印表機中的解釋器執行的 PostScript 來執行此操作,因為語言中存在實現此目的的所有概念。

PostScript 操作員currentsystemparams可以從印表機檢索訊息,該資訊可以包括PageCount,一個整數,即:「自製造以來已成功處理的頁數」。它可以用作唯一的序號,PostScript 程式碼可以將其新增到頁面輸出。

或者,程式碼可以使用startjob操作員“對虛擬機器中的物件進行持久更改”,這需要印表機管理員密碼。可以將小型非列印作業傳送到印表機,以使用此技術初始化全域計數器。然後,稍後的作業就可以存取該資訊以進行檢索、使用和更新。

不過,當設定多個副本時,這兩種技術可能都不起作用,因為 PostScript 將只執行一次以光柵化每個頁面,然後將為每個副本列印相同的頁面。

引用來自舊的 PostScript 語言參考pdf

答案2

某些印表機具有浮水印列印選項,您可以將其作為驅動程式選項啟用,而無需生成新文件(即印表機中的光柵器僅在頁面頂部添加附加水印),但這似乎不是您想要的想要這裡。

因此,無論我們在這裡做什麼(使用 cups 過濾器和 PPD 進行大量修改,或產生文件),您的印表機都必須對 800 頁進行光柵化;真的沒辦法。所以,你的 PyPDF 方法對我來說聽起來不錯。

(我將 LaTeX 與pdfpages套件一起使用\includepdf,類似於

\newcounter{serialnr}{10000}%
\includepdf[pagecommand={\thispagestyle{empty}\arabic{serialnr}]{pdffile.pdf}%
\stepcounter{serialnr}%
\includepdf[pagecommand={\thispagestyle{empty}\arabic{serialnr}]{pdffile.pdf}%

\pgffor使這件事更容易)

答案3

如果您願意只在扉頁上列印序號,

  1. 將您的文檔拆分為p01.pdfp02-16.pdf
  2. 列印 50 份 p02-16.pdf
  3. 編寫一個程式來製作 50 種具有p01.pdf 不同序號的變體,並列印它們。
  4. 手動洗牌。

如果手動洗牌太耗時,一種變體是編寫循環腳本:

do 50 times:
begin
        make a copy of p01.pdf with a unique serial number, and print it
        print p02-16.pdf
end

這可能不會比您的「列印 50 個 16 頁檔案」解決方案更快。

當然,如果您要雙面列印,則需要將文件分割為p01-02.pdfp03-16.pdf

相關內容