You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ms...@apache.org on 2018/03/20 17:55:31 UTC
svn commit: r1827342 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/PDAbstractContentStream.java
Author: msahyoun
Date: Tue Mar 20 17:55:31 2018
New Revision: 1827342
URL: http://svn.apache.org/viewvc?rev=1827342&view=rev
Log:
PDFBOX-4159: throw an exception if special graphics state operationsCare used within text mode as this is not permitted
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/PDAbstractContentStream.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/PDAbstractContentStream.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/PDAbstractContentStream.java?rev=1827342&r1=1827341&r2=1827342&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/PDAbstractContentStream.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/contentstream/PDAbstractContentStream.java Tue Mar 20 17:55:31 2018
@@ -526,6 +526,11 @@ public abstract class PDAbstractContentS
*/
public void transform(Matrix matrix) throws IOException
{
+ if (inTextMode)
+ {
+ throw new IllegalStateException("Error: Modifying the current transformation matrix is not allowed within text objects.");
+ }
+
writeAffineTransform(matrix.createAffineTransform());
writeOperator("cm");
}
@@ -536,6 +541,11 @@ public abstract class PDAbstractContentS
*/
public void saveGraphicsState() throws IOException
{
+ if (inTextMode)
+ {
+ throw new IllegalStateException("Error: Saving the graphics state is not allowed within text objects.");
+ }
+
if (!fontStack.isEmpty())
{
fontStack.push(fontStack.peek());
@@ -557,6 +567,11 @@ public abstract class PDAbstractContentS
*/
public void restoreGraphicsState() throws IOException
{
+ if (inTextMode)
+ {
+ throw new IllegalStateException("Error: Restoring the graphics state is not allowed within text objects.");
+ }
+
if (!fontStack.isEmpty())
{
fontStack.pop();