RED-9746: Document hardly editable

* fix pmd
This commit is contained in:
Kilian Schuettler 2024-08-16 21:06:14 +02:00
parent dc970a64f3
commit 5e00420f4d
2 changed files with 34 additions and 32 deletions

View File

@ -40,47 +40,48 @@ public class GlyphExtractionTest {
List<List<TextFeatures>> textsPerPage;
List<List<ImageFeatures>> imagesPerPage;
try (var in = this.getClass().getClassLoader().getResourceAsStream(file)) {
try (var in = Thread.currentThread().getContextClassLoader().getResourceAsStream(file)) {
textsPerPage = PdfTextExtraction.extractAllGlyphsFromDocument(in, true);
}
try (var in = this.getClass().getClassLoader().getResourceAsStream(file)) {
try (var in = Thread.currentThread().getContextClassLoader().getResourceAsStream(file)) {
imagesPerPage = PdfImageExtraction.extractImages(in);
}
try (var in = this.getClass().getClassLoader().getResourceAsStream(file);//
try (var in = Thread.currentThread().getContextClassLoader().getResourceAsStream(file);//
var out = new FileOutputStream(Path.of("/tmp/").resolve(Path.of(file).getFileName() + "_GLYPHS.pdf").toFile())) {
PDFDoc pdfDoc = new PDFDoc(in);
for (int i = 0; i < pdfDoc.getPageCount(); i++) {
Page page = pdfDoc.getPage(i + 1);
List<TextFeatures> textFeaturesOnPage = textsPerPage.get(i);
List<ImageFeatures> imageFeaturesOnPage = imagesPerPage.get(i);
try (ElementWriter writer = new ElementWriter(); ElementBuilder builder = new ElementBuilder()) {
writer.begin(page, ElementWriter.e_overlay, false);
try (PDFDoc pdfDoc = new PDFDoc(in)) {
for (int i = 0; i < pdfDoc.getPageCount(); i++) {
Page page = pdfDoc.getPage(i + 1);
List<TextFeatures> textFeaturesOnPage = textsPerPage.get(i);
List<ImageFeatures> imageFeaturesOnPage = imagesPerPage.get(i);
try (ElementWriter writer = new ElementWriter(); ElementBuilder builder = new ElementBuilder()) {
writer.begin(page, ElementWriter.e_overlay, false);
for (ImageFeatures imageFeatures : imageFeaturesOnPage) {
if (imageFeatures.getBoundingBox().getHeight() * imageFeatures.getBoundingBox().getWidth() >= page.getPageHeight() * page.getPageWidth() * 0.8) {
continue;
}
drawRect(imageFeatures.getBoundingBox(), builder, writer, Color.CYAN, true);
}
for (TextFeatures textFeatures : textFeaturesOnPage) {
drawRect(textFeatures.getBoundingBox(), builder, writer, Color.BLUE);
for (GlyphInfo glyph : textFeatures.getGlyphs()) {
if (glyph.getPathData().isPresent()) {
drawPathData(glyph.getPathData().get(), builder, writer, Color.BLACK);
for (ImageFeatures imageFeatures : imageFeaturesOnPage) {
if (imageFeatures.getBoundingBox().getHeight() * imageFeatures.getBoundingBox().getWidth() >= page.getPageHeight() * page.getPageWidth() * 0.8) {
continue;
}
drawRect(ComparisonUtils.shrinkRectangle(glyph.getBbox()), builder, writer, Color.RED);
drawRect(glyph.getBbox(), builder, writer, Color.MAGENTA);
drawRect(imageFeatures.getBoundingBox(), builder, writer, Color.CYAN, true);
}
for (TextFeatures textFeatures : textFeaturesOnPage) {
drawRect(textFeatures.getBoundingBox(), builder, writer, Color.BLUE);
for (GlyphInfo glyph : textFeatures.getGlyphs()) {
if (glyph.getPathData().isPresent()) {
drawPathData(glyph.getPathData().get(), builder, writer, Color.BLACK);
}
drawRect(ComparisonUtils.shrinkRectangle(glyph.getBbox()), builder, writer, Color.RED);
drawRect(glyph.getBbox(), builder, writer, Color.MAGENTA);
}
}
writer.end();
}
writer.end();
}
pdfDoc.save(out, SDFDoc.SaveMode.LINEARIZED, null);
}
pdfDoc.save(out, SDFDoc.SaveMode.LINEARIZED, null);
}
}

View File

@ -113,8 +113,8 @@ public class VisualEqualityTest {
Path processedFile = fileFolder.resolve("processed.pdf");
Path deltaFile = fileFolder.resolve("delta.pdf");
Path savedOriginFile = fileFolder.resolve("origin.pdf");
try (var in = new FileInputStream(originFile.toFile()); var out = new FileOutputStream(savedOriginFile.toFile())) {
PDFDoc pdfDoc = new PDFDoc(in);
try (var in = new FileInputStream(originFile.toFile()); PDFDoc pdfDoc = new PDFDoc(in); var out = new FileOutputStream(savedOriginFile.toFile())) {
pdfDoc.save(out, SDFDoc.SaveMode.LINEARIZED, null);
}
@ -226,7 +226,7 @@ public class VisualEqualityTest {
return boxes;
}
/*
private static Boxa pushRectsIntoBoxa(List<Rectangle2D> rects) {
Boxa boxa = new Boxa();
@ -247,6 +247,7 @@ public class VisualEqualityTest {
return boxa;
}
*/
private record Context(Path outFolder, Map<Path, FailedFile> failedFiles) {