You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2019/07/20 09:28:09 UTC
svn commit: r1863457 -
/pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/ExtractText.java
Author: tilman
Date: Sat Jul 20 09:28:09 2019
New Revision: 1863457
URL: http://svn.apache.org/viewvc?rev=1863457&view=rev
Log:
PDFBOX-4071: avoid duplicate code; clone matrix object to avoid modifying it
Modified:
pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/ExtractText.java
Modified: pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/ExtractText.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/ExtractText.java?rev=1863457&r1=1863456&r2=1863457&view=diff
==============================================================================
--- pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/ExtractText.java (original)
+++ pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/ExtractText.java Sat Jul 20 09:28:09 2019
@@ -405,6 +405,13 @@ public final class ExtractText
}
}
+ static int getAngle(TextPosition text)
+ {
+ Matrix m = text.getTextMatrix().clone();
+ m.concatenate(text.getFont().getFontMatrix());
+ return (int) Math.round(Math.toDegrees(Math.atan2(m.getShearY(), m.getScaleY())));
+ }
+
/**
* This will print the usage requirements and exit.
*/
@@ -458,9 +465,7 @@ class AngleCollector extends PDFTextStri
@Override
protected void processTextPosition(TextPosition text)
{
- Matrix m = text.getTextMatrix();
- m.concatenate(text.getFont().getFontMatrix());
- int angle = (int) Math.round(Math.toDegrees(Math.atan2(m.getShearY(), m.getScaleY())));
+ int angle = ExtractText.getAngle(text);
angle = (angle + 360) % 360;
angles.add(angle);
}
@@ -478,9 +483,7 @@ class FilteredTextStripper extends PDFTe
@Override
protected void processTextPosition(TextPosition text)
{
- Matrix m = text.getTextMatrix();
- m.concatenate(text.getFont().getFontMatrix());
- int angle = (int) Math.round(Math.toDegrees(Math.atan2(m.getShearY(), m.getScaleY())));
+ int angle = ExtractText.getAngle(text);
if (angle == 0)
{
super.processTextPosition(text);