Author: tilman
Date: Sun Mar 9 12:43:12 2025
New Revision: 1924246
URL: http://svn.apache.org/viewvc?rev=1924246&view=rev
Log:
PDFBOX-5966: do y-axis flip only if flipTG isn't set
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
URL:
http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java?rev=1924246&r1=1924245&r2=1924246&view=diff
==============================================================================
---
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
(original)
+++
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
Sun Mar 9 12:43:12 2025
@@ -2079,13 +2079,23 @@ public class PageDrawer extends PDFGraph
Rectangle2D getBounds()
{
- // apply the underlying Graphics2D device's DPI transform and
y-axis flip
- Rectangle2D r =
- new Rectangle2D.Double(
- minX - pageSize.getLowerLeftX() *
xformScalingFactorX,
- (pageSize.getLowerLeftY() + pageSize.getHeight())
* xformScalingFactorY - minY - height,
- width,
- height);
+ Rectangle2D r;
+ if (flipTG)
+ {
+ // Fixes PDFBOX-5966 and PDFBOX-5251, but not pdfium 1317,
which has similar PDF code.
+ // https://bugs.chromium.org/p/pdfium/issues/detail?id=1317
+ r = new Rectangle2D.Double(minX, minY, width, height);
+ }
+ else
+ {
+ // y-axis flip
+ r = new Rectangle2D.Double(
+ minX - pageSize.getLowerLeftX() * xformScalingFactorX,
+ (pageSize.getLowerLeftY() + pageSize.getHeight()) *
xformScalingFactorY - minY - height,
+ width,
+ height);
+ }
+ // apply the underlying Graphics2D device's DPI transform
// this adjusts the rectangle to the rotated image to put the soft
mask at the correct position
//TODO
// 1. change transparencyGroup.getBounds() to getOrigin(), because
size isn't used in SoftMask,