PDF의 여러 텍스트 상자를 일괄 삭제하려면 어떻게해야합니까?PDF의 텍스트 삭제 일괄 처리
시나리오는 제가 삭제하려는 각 페이지의 상단과 하단에 텍스트 상자가있는 PDF 문서가 여러 개 있습니다. 마스터 PDF 편집기와 같은 소프트웨어를 사용하여 수동으로이 작업을 수행 할 수 있지만이 문서에는 500 페이지가 넘으며 여러 문서가 처리됩니다. 나는 이들이 텍스트 박스이고 헤더/푸터가 아니라고 확신한다.
의견이 있으십니까?
PDF의 여러 텍스트 상자를 일괄 삭제하려면 어떻게해야합니까?PDF의 텍스트 삭제 일괄 처리
시나리오는 제가 삭제하려는 각 페이지의 상단과 하단에 텍스트 상자가있는 PDF 문서가 여러 개 있습니다. 마스터 PDF 편집기와 같은 소프트웨어를 사용하여 수동으로이 작업을 수행 할 수 있지만이 문서에는 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 자바 또는 C#에서 사용할 수 있습니다.
는 편집 주석을 생성하는 방법에 iText를 웹 사이트에서 상당히 포괄적 인 예를있다 : http://developers.itextpdf.com/question/how-create-and-apply-redactions
감사 요리스,하지만 난 약간 간단한 해결책을 기대했다. 아마도 빨간색 gui 기반의 PDF 편집기 도구를 사용합니까? – Mark
내가 아는 한 최선을 다하자면 모든 종류의 컨텐츠 처리 (특히 일괄 처리)를 수행하자마자 일부 코드를 수행해야하는 상황으로 신속하게 확대 될 것입니다. –
의미가 있습니다. iText7과 pdfSweep은 무료입니까? 방금 설치하고, 예제를 작성하고, 컴파일하고 실행합니까? 분명히 내 필요에 맞게 조정하십시오. – Mark