Author: jghali
Date: Tue Oct 22 02:24:54 2019
New Revision: 23270

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=23270
Log:
Backport #15797 fix: PDFs imported and duplicated in image frames wrongly 
scaled on PDF export

Modified:
    branches/Version14x/Scribus/scribus/pdflib_core.cpp
    branches/Version14x/Scribus/scribus/pdflib_core.h

Modified: branches/Version14x/Scribus/scribus/pdflib_core.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23270&path=/branches/Version14x/Scribus/scribus/pdflib_core.cpp
==============================================================================
--- branches/Version14x/Scribus/scribus/pdflib_core.cpp (original)
+++ branches/Version14x/Scribus/scribus/pdflib_core.cpp Tue Oct 22 02:24:54 2019
@@ -7014,8 +7014,6 @@
        bool   found = false;
        bool   alphaM = false;
        bool   realCMYK = false;
-       bool   bitmapFromGS = false;
-       bool   isEmbeddedPDF = false;
        bool   hasGrayProfile = false;
        QString profInUse = Profil;
        int    afl = Options.Resolution;
@@ -7037,6 +7035,8 @@
        ImInfo.ya = y;
        ImInfo.origXsc = c->imageXScale();
        ImInfo.origYsc = c->imageYScale();
+       ImInfo.isBitmapFromGS = false;
+       ImInfo.isEmbeddedPDF = false;
        ShIm   ImInfo2;
        ImInfo2.origXsc = c->imageXScale();
        ImInfo2.origYsc = c->imageYScale();
@@ -7075,7 +7075,7 @@
                        }
                        else
                                imageLoaded = PDF_EmbeddedPDF(c, fn, sx, sy, x, 
y, fromAN, Profil, Embedded, Intent, ImInfo, output);
-                       isEmbeddedPDF = true;
+                       ImInfo.isEmbeddedPDF = true;
                        ImInfo.Page = c->pixm.imgInfo.actualPageNumber;
                }
                if(!imageLoaded && extensionIndicatesPDF(ext) && 
c->effectsInUse.count() == 0 && Options.embedPDF)
@@ -7085,7 +7085,7 @@
                { 
                        if ((extensionIndicatesPDF(ext) || 
extensionIndicatesEPSorPS(ext)) && (c->pixm.imgInfo.type != ImageType7))
                        {
-                               bitmapFromGS = true;
+                               ImInfo.isBitmapFromGS = true;
                                if (Options.RecalcPic)
                                {
                                        afl = qMin(Options.PicRes, 
Options.Resolution);
@@ -7588,27 +7588,12 @@
                ImInfo = SharedImages[fn];
                ImInfo.sxa *= sx / ImInfo.xa;
                ImInfo.sya *= sy / ImInfo.ya;
-               /*
-               ImRes = SharedImages[fn].ResNum;
-               ImWid = SharedImages[fn].Width;
-               ImHei = SharedImages[fn].Height;
-               aufl = SharedImages[fn].reso;
-               sxn = SharedImages[fn].sxa * sx / SharedImages[fn].xa;
-               syn = SharedImages[fn].sya * sy / SharedImages[fn].ya;
-               */
        }
        QString embedPre = "";
-       if ((bitmapFromGS) || (isEmbeddedPDF)) // compensate gsResolution 
setting
-       {
-               if (isEmbeddedPDF)
-               {
-                       // #9268 : per specs default color space is grayscale
-                       /*if (Options.isGrayscale)
-                               embedPre = "0 g 0 G";
-                       else if (Options.UseRGB)
-                               embedPre = "0 0 0 rg 0 0 0 RG";
-                       else
-                               embedPre = "0 0 0 0 k 0 0 0 0 K";*/
+       if ((ImInfo.isBitmapFromGS) || (ImInfo.isEmbeddedPDF)) // compensate 
gsResolution setting
+       {
+               if (ImInfo.isEmbeddedPDF)
+               {
                        embedPre  = "0 g 0 G";
                        embedPre += " 1 w 0 J 0 j [] 0 d\n"; // add default 
graphics stack parameters pdftex relies on them
                }

Modified: branches/Version14x/Scribus/scribus/pdflib_core.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23270&path=/branches/Version14x/Scribus/scribus/pdflib_core.h
==============================================================================
--- branches/Version14x/Scribus/scribus/pdflib_core.h   (original)
+++ branches/Version14x/Scribus/scribus/pdflib_core.h   Tue Oct 22 02:24:54 2019
@@ -66,10 +66,10 @@
 private:
        struct ShIm
        {
-               int ResNum;
-               int Width;
-               int Height;
-               int Page;
+               int  ResNum;
+               int  Width;
+               int  Height;
+               int  Page;
                double reso;
                double sxa;
                double sya;
@@ -77,6 +77,8 @@
                double ya;
                double origXsc;
                double origYsc;
+               bool isBitmapFromGS;
+               bool isEmbeddedPDF;
                QMap<int, ImageLoadRequest> RequestProps;
        };
 


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to