使用itext 5对扫描的pdf进行编辑

使用itext 5对扫描的pdf进行编辑,itext,Itext,我曾试图用Itext 5从扫描的PDF中编辑数据,但不知何故,它不适合我。我只能创建修订,但无法应用它。我尝试了他们给出的例子,但它只在创建编校之前起作用 String fileName = "scanned.pdf"; String dest = "output_scannedPdf.pdf"; PdfReader reader = new PdfReader(SRC + fileName); int page = 1; Rectangle rect = new Rectangle(50

我曾试图用Itext 5从扫描的PDF中编辑数据,但不知何故,它不适合我。我只能创建修订,但无法应用它。我尝试了他们给出的例子,但它只在创建编校之前起作用

String fileName = "scanned.pdf";
String  dest = "output_scannedPdf.pdf";


PdfReader reader = new PdfReader(SRC + fileName);
int page = 1;
Rectangle rect = new Rectangle(500, 50, 200, 300);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(DEST + dest));
PdfAnnotation annotation = new PdfAnnotation(stamper.getWriter(), rect);

annotation.put(PdfName.SUBTYPE, new PdfName("Redact"));
annotation.setTitle("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);

// manipulatePdf(dest, dest1);

PdfCleanUpProcessor cleaner = new PdfCleanUpProcessor(stamper);
cleaner.cleanUp();
stamper.close();
reader.close();

我在
extractLocationsFromRedactAnnots()
method
PdfName annotSubtype=annotDict.getAsName(PdfName.SUBTYPE)中得到一个空指针异常

“但它只在创建编校之前有效”-那么它会做什么呢?症状是什么?有例外吗?如果有,请提供堆栈跟踪。请共享代码以获得更好的帮助。@Naidu在extractLocationsFromRedactAnnots()方法PdfName annotSubtype=annotDict.getAsName(PdfName.SUBTYPE)中获取空指针异常;您是否也可以共享有问题的pdf以复制该问题?“但它只在创建编校之前有效”-然后它会做什么?症状是什么?有例外吗?如果有,请提供堆栈跟踪。请共享代码以获得更好的帮助。@Naidu在extractLocationsFromRedactAnnots()方法PdfName annotSubtype=annotDict.getAsName(PdfName.SUBTYPE)中获取空指针异常;您是否也可以共享有问题的pdf以复制该问题?