[ 
https://issues.apache.org/jira/browse/PDFBOX-4159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ulrich gratz updated PDFBOX-4159:
---------------------------------
    Description: 
When i use a large amount of {{AffineTransformations}} the resulting document 
will open in Acrobat Reader, but each time a warning is displayed, that there 
is a defect in the document. The code I use is like: 
{code:java}
// BROKEN
context.useFont(FontFace.FONT_TEXT);
for (int i = 0; i < 80; i++) {
    context.contentStream.beginText();
    context.contentStream.saveGraphicsState();
    context.contentStream.transform(new 
Matrix(AffineTransform.getTranslateInstance(0, VIEWPORT_TOP - i * 5)));
    context.contentStream.showText("XXXXXXXXX");
    context.contentStream.restoreGraphicsState();
    context.contentStream.endText();
}

// WORKS
context.useFont(FontFace.FONT_TEXT);
for (int i = 0; i < 80; i++) {
    context.contentStream.saveGraphicsState();
    context.contentStream.beginText();
    context.contentStream.transform(new 
Matrix(AffineTransform.getTranslateInstance(0, VIEWPORT_TOP - i * 5)));
    context.contentStream.showText("XXXXXXXXX");
    context.contentStream.endText();
    context.contentStream.restoreGraphicsState();
}

{code}
When i skip the transformations or reduce the amount to e.g. 30, everything is 
fine. The size of {{ty}} or page breaks do _not_ have an influence on the 
result, it seems to be the amount of transforms.

I attached a simple PDF sporting the described effect. *Please note:* The 
effect only occurs in the standalone Acrobat Reader, not the acrobat browser 
plugin. So to see the error, download the PDF from this ticket and open it 
independently from the browser.

  was:
When i use a large amount of {{AffineTransformations}} the resulting document 
will open in Acrobat Reader, but each time a warning is displayed, that there 
is a defect in the document. The code I use is like: 
{code:java}
for (int i = 0; i < 80; i++) {
    context.contentStream.beginText();
    context.useFont(FontFace.FONT_TEXT);
    context.contentStream.saveGraphicsState();
    context.contentStream.transform(new 
Matrix(AffineTransform.getTranslateInstance(0, VIEWPORT_TOP - i * 5)));
    context.contentStream.showText("XXXXXXXXX");
    context.contentStream.restoreGraphicsState();
    context.contentStream.endText();
}

{code}
When i skip the transformations or reduce the amount to e.g. 30, everything is 
fine. The size of {{ty}} or page breaks do _not_ have an influence on the 
result, it seems to be the amount of transforms.

I attached a simple PDF sporting the described effect. *Please note:* The 
effect only occurs in the standalone Acrobat Reader, not the acrobat browser 
plugin. So to see the error, download the PDF from this ticket and open it 
independently from the browser.


> Defect document when too many transformations are applied
> ---------------------------------------------------------
>
>                 Key: PDFBOX-4159
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4159
>             Project: PDFBox
>          Issue Type: Bug
>    Affects Versions: 2.0.8
>            Reporter: ulrich gratz
>            Priority: Major
>         Attachments: screenshot-1.png, test.pdf
>
>
> When i use a large amount of {{AffineTransformations}} the resulting document 
> will open in Acrobat Reader, but each time a warning is displayed, that there 
> is a defect in the document. The code I use is like: 
> {code:java}
> // BROKEN
> context.useFont(FontFace.FONT_TEXT);
> for (int i = 0; i < 80; i++) {
>     context.contentStream.beginText();
>     context.contentStream.saveGraphicsState();
>     context.contentStream.transform(new 
> Matrix(AffineTransform.getTranslateInstance(0, VIEWPORT_TOP - i * 5)));
>     context.contentStream.showText("XXXXXXXXX");
>     context.contentStream.restoreGraphicsState();
>     context.contentStream.endText();
> }
> // WORKS
> context.useFont(FontFace.FONT_TEXT);
> for (int i = 0; i < 80; i++) {
>     context.contentStream.saveGraphicsState();
>     context.contentStream.beginText();
>     context.contentStream.transform(new 
> Matrix(AffineTransform.getTranslateInstance(0, VIEWPORT_TOP - i * 5)));
>     context.contentStream.showText("XXXXXXXXX");
>     context.contentStream.endText();
>     context.contentStream.restoreGraphicsState();
> }
> {code}
> When i skip the transformations or reduce the amount to e.g. 30, everything 
> is fine. The size of {{ty}} or page breaks do _not_ have an influence on the 
> result, it seems to be the amount of transforms.
> I attached a simple PDF sporting the described effect. *Please note:* The 
> effect only occurs in the standalone Acrobat Reader, not the acrobat browser 
> plugin. So to see the error, download the PDF from this ticket and open it 
> independently from the browser.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to