1
如何批量刪除PDF中的多個文本框?PDF中的批量刪除文本框
這種情況是我有一些PDF文檔,每個頁面的頂部和底部都有一個文本框,我想刪除它們。我可以使用Master PDF Editor等軟件手動執行此操作,但文檔有超過500頁,我有幾個文檔需要處理。我相當肯定這些是文本框,而不是頁眉/頁腳。
有什麼想法?
如何批量刪除PDF中的多個文本框?PDF中的批量刪除文本框
這種情況是我有一些PDF文檔,每個頁面的頂部和底部都有一個文本框,我想刪除它們。我可以使用Master PDF Editor等軟件手動執行此操作,但文檔有超過500頁,我有幾個文檔需要處理。我相當肯定這些是文本框,而不是頁眉/頁腳。
有什麼想法?
Easy,
使用iText7結合pdfSweep。 iText是一個PDF工具包,使您能夠創建,編輯和提取PDF文檔中的信息。
pdfSweep(顧名思義)爲iText提供了編輯功能。 您可以根據給定的矩形(即將正則表達式)從特定頁面或頁面範圍中編輯內容。
pdfSweep將刪除屬於給定矩形的所有內容。
您也可以簡單地創建新版註釋,然後讓它們通過Adobe Reader批量刪除。 iText也支持創建編校註釋。
using (Stream stream = new FileStream(
fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) {
PdfReader pdfReader = new PdfReader(stream);
using (PdfStamper stamper = new PdfStamper(
pdfReader, new FileStream(newFileName, FileMode.OpenOrCreate))) {
int page = 1;
iTextSharp.text.Rectangle rect =
new iTextSharp.text.Rectangle(500, 50, 200, 300);
PdfAnnotation annotation = new PdfAnnotation(stamper.Writer, rect);
annotation.Put(PdfName.SUBTYPE, new PdfName("Redact"));
annotation.Title = "My Author";
annotation.Put(new PdfName("Subj"), new PdfName("Redact"));
float[] fillColor = { 0, 0, 0 };
annotation.Put(new PdfName("IC"), new PdfArray(fillColor));
float[] fillColorRed = { 1, 0, 0 };
annotation.Put(new PdfName("OC"), new PdfArray(fillColorRed));
stamper.AddAnnotation(annotation, page);
}
}
iText的和pdfSweep是在Java或C#可用。
有一個關於如何生成密文註解iText的網站上相當全面的例子: http://developers.itextpdf.com/question/how-create-and-apply-redactions
感謝里斯,但我希望一個稍微簡單的解決方案。也許使用紅色的基於PDF編輯器工具? – Mark
據我所知,只要你想做任何類型的內容處理(尤其是批量處理),它就會迅速升級爲必須執行一些代碼。 –
有道理。那麼,iText7和pdfSweep是免費的嗎?我只是安裝它們,拿你的例子,編譯並運行它?顯然根據我的需要調整它 – Mark