pdfドキュメントで修正を適用しているときに、「座標範囲外の許容範囲を超えています。例外が発生しました:理由:許容範囲外の座標です。java.lang.IllegalStateException:許容範囲外の座標です。
私は様々な座標で試してみましたが、毎回同じ例外が表示されています。私はなぜこの例外が特定のドキュメントだけになっているのか教えてください。
例外トレース: 理由:外部許容範囲 java.lang.IllegalStateExceptionを座標com.itextpdf.text.pdf.parser.clipper.ClipperBase.rangeTestで外部許容範囲 座標(ClipperBase.java:120) com.itextpdf.text.pdf.parser.clipper.ClipperBase.rangeTest(ClipperBase.java:122) at com.itextpdf.text.pdf.parser.clipper.ClipperBase.addPath(ClipperBase.java:194) at com com.itextpdf.text.pdfで.itextpdf.text.pdf.pdfcleanup.PdfCleanUpRegionFilter.addPath(PdfCleanUpRegionFilter.java:418)com.itextpdf.text.pdf.pdfcleanup.PdfCleanUpRegionFilter.filterFillPath(PdfCleanUpRegionFilter.java:173)で .pdfcleanup.PdfC leanUpRenderListener.filterCurrentPath(PdfCleanUpRenderListener.java:368)com.itextpdf.text.pdf.parser.PdfContentStreamProcessor.paintPathでcom.itextpdf.text.pdf.pdfcleanup.PdfCleanUpRenderListener.renderPath(PdfCleanUpRenderListener.java:207) で (PdfContentStreamProcessor。 Javaの:377)
使用しitextpdf-5.5.9とiTextの-エクストラ-5.5.9
サンプルコード:
PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(targetPdf));
stamper.setRotateContents(false);
List<PdfCleanUpLocation> cleanUpLocations = new ArrayList<PdfCleanUpLocation>();
Rectangle rectangle = new Rectangle(400, 600, 500, 650);
cleanUpLocations.add(new PdfCleanUpLocation(1, rectangle, BaseColor.BLACK));
PdfCleanUpProcessor cleaner = new PdfCleanUpProcessor(cleanUpLocations, stamper);
cleaner.cleanUp();
stamper.close();
reader.close();
分析のために重要なコードと問題のPDFを共有してください。 – mkl
@mkl、PDFをご覧ください: https://drive.google.com/open?id=0B1tCWBHptWpuLXc5R2NkQ2U1NWM –