The PDF standard觀衆的喜好指出,它應該可以在一個PDF,它允許設置用戶將如何看待這個文件設置「觀衆的口味。」如何更改一個PDF
有沒有免費的命令行工具或完全開源庫(所以沒有限制/許可的庫,例如iText的),可以用來做這個?我發現的是BeCyPDFMetaEdit,它是一個Windows工具。
The PDF standard觀衆的喜好指出,它應該可以在一個PDF,它允許設置用戶將如何看待這個文件設置「觀衆的口味。」如何更改一個PDF
有沒有免費的命令行工具或完全開源庫(所以沒有限制/許可的庫,例如iText的),可以用來做這個?我發現的是BeCyPDFMetaEdit,它是一個Windows工具。
這裏是你如何能與PDF::API2 Perl包(這是免費的),做到這一點:
use PDF::API2;
$pdf = PDF::API2->open("old.pdf");
$pdf->preferences(
-centerwindow => 1,
-fitwindow => 1,
-hidetoolbar => 1,
-hidemenubar => 1,
);
$pdf->saveas('new.pdf');
真棒 - 謝謝一堆!點是你的,但我需要找到一種方法來移動它們,因爲我不小心將它們授予了錯誤的答案。頁面滾動是一個b#$&1 – user1914292 2013-04-28 10:36:21
錯誤的答案是什麼?對我來說,看起來賞金根本沒有被授予。 – mzjn 2013-04-28 14:10:51
它被授予,但答案被刪除 - 我認爲這是因爲我標記了這個問題,並報告說我想把獎勵移交給你。你可以看到我的代表在我的歷史記錄中已經失去了積分... – user1914292 2013-04-28 14:14:08
我想你沒有得到的回答這個問題,因爲它不是在FAQ on StackOverflow的背景下,真正的問題。關於SO的問題應該是您嘗試某件事時遇到的技術問題。詢問「你能給我一個樣品嗎?」並不總是被接受。你冒險得到一個反問題:「你有什麼嘗試?」
這就是說,迴應你的評論:「這肯定是以前做過的嗎?」:當然有!我沒有馬上回答,因爲我沒有時間,而且因爲你的問題的答案是不容易的。我認爲你會自己找到答案,沒有任何問題。
PdfReader reader = new PdfReader("test.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("test_changed.pdf"));
stamper.setViewerPreferences(PdfWriter.CenterWindow | PdfWriter.FitWindow);
stamper.addViewerPreference(PdfName.PRINTSCALING, PdfName.NONE);
stamper.addViewerPreference(PdfName.NUMCOPIES, new PdfNumber(3));
stamper.close();
reader.close();
你把現有的PDF與PdfReader
,你把它複製到改變PDF與PdfStamper
。您可以使用setViewerPreferences()
方法或addViewerPreference()
方法。如果您按照這些方法提供的鏈接,您會看到可能的查看器首選項的概述。
這是一個iText(Java)示例;將它改爲iTextSharp(C#)的例子就是在這裏和那裏將一些小寫變爲大寫。
免責聲明:我iText的軟件公司的CEO。我也是iText的原創開發人員,也是「iText in Action」書籍的作者。
對不起,我的問題還不夠清楚。我確實很徹底地搜索了網頁,但只找到了付費產品或Windows產品。沒有命令行工具,也沒有完全開源的庫。雖然您的答案有幫助,但它受到與我所尋找的不同許可證的約束。賞金在那裏的原因,是因爲這個問題得到了如此少的關注 - 不是因爲(恕我直言)我沒有像瘋狂的搜索網絡... – user1914292 2013-04-27 13:26:56
在這種情況下,你可以澄清你的問題,添加你要找的免費的午餐。這將避免像我這樣的人浪費寶貴的時間;-) – 2013-04-27 13:38:11
即使您的產品是偉大的,在一切公平 - stackoverflow是不僅僅是促進您的產品... – user1914292 2013-04-28 10:34:22
你可以寫任何一個小的Java或利用iText和iTextSharp的改變觀衆的喜好小C#程序。 – 2013-04-25 06:13:51
謝謝,但一定是以前做過的? – user1914292 2013-04-25 06:45:22