Author: msahyoun
Date: Wed Mar 25 10:56:13 2026
New Revision: 1932543
Log:
PDFBOX-5660: optimize/remove regex
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
==============================================================================
---
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
Wed Mar 25 10:50:11 2026 (r1932542)
+++
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/PDFStreamParser.java
Wed Mar 25 10:56:13 2026 (r1932543)
@@ -51,7 +51,7 @@ public class PDFStreamParser extends Bas
private final List<Object> streamObjects = new ArrayList<Object>( 100 );
- private static final Pattern NUMBER_PATTERN =
Pattern.compile("^\\d*\\.?\\d*$");
+ private static final Pattern NUMBER_PATTERN =
Pattern.compile("^(?>\\d*)\\.?(?>\\d*)$");
private static final int MAX_BIN_CHAR_TEST_LENGTH = 10;
private final byte[] binCharTestArr = new byte[MAX_BIN_CHAR_TEST_LENGTH];
private int inlineImageDepth = 0;
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
==============================================================================
---
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
Wed Mar 25 10:50:11 2026 (r1932542)
+++
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDFreeTextAppearanceHandler.java
Wed Mar 25 10:56:13 2026 (r1932543)
@@ -55,7 +55,7 @@ public class PDFreeTextAppearanceHandler
private static final Log LOG =
LogFactory.getLog(PDFreeTextAppearanceHandler.class);
private static final Pattern COLOR_PATTERN =
- Pattern.compile(".*color\\:\\s*\\#([0-9a-fA-F]{6}).*");
+ Pattern.compile("color:\\s*+#([0-9a-fA-F]{6})");
private float fontSize = 10;
private COSName fontName = COSName.HELV;
Modified:
pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java
==============================================================================
---
pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java
Wed Mar 25 10:50:11 2026 (r1932542)
+++
pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/TextToPDF.java
Wed Mar 25 10:56:13 2026 (r1932543)
@@ -149,7 +149,7 @@ public class TextToPDF
// the text.
textIsEmpty = false;
- String[] lineWords = nextLine.replaceAll("[\\n\\r]+$", "").split("
", -1);
+ String[] lineWords = nextLine.split(" ", -1);
int lineIndex = 0;
while (lineIndex < lineWords.length)
{