[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - vcl/source

Ashod Nakashian (via logerrit) logerrit at kemper.freedesktop.org
Wed Mar 31 08:59:44 UTC 2021


 vcl/source/filter/ipdf/pdfread.cxx |   18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

New commits:
commit 860ea6c6693608165cfde42656d6c48c3bde91eb
Author:     Ashod Nakashian <ashod.nakashian at collabora.co.uk>
AuthorDate: Sun Mar 28 09:38:01 2021 -0400
Commit:     Jan Holesovsky <kendy at collabora.com>
CommitDate: Wed Mar 31 10:59:11 2021 +0200

    vcl: allow for overriding the default PDF rendering resolution
    
    Change-Id: Ibd75c6dd71d93322bd77995547e735c2d4849602
    Signed-off-by: Ashod Nakashian <ashod.nakashian at collabora.co.uk>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113255
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>

diff --git a/vcl/source/filter/ipdf/pdfread.cxx b/vcl/source/filter/ipdf/pdfread.cxx
index 2fb7a11bb681..e4af2a0e865b 100644
--- a/vcl/source/filter/ipdf/pdfread.cxx
+++ b/vcl/source/filter/ipdf/pdfread.cxx
@@ -146,11 +146,27 @@ VectorGraphicDataArray createVectorGraphicDataArray(SvStream& rStream)
 
 namespace vcl
 {
+/// Get the default PDF rendering resolution in DPI.
+static double getDefaultPdfResolutionDpi()
+{
+    // If an overriding default is set, use it.
+    const char* envar = ::getenv("PDFIMPORT_RESOLUTION_DPI");
+    if (envar)
+    {
+        const double dpi = atof(envar);
+        if (dpi > 0)
+            return dpi;
+    }
+
+    // Fallback to a sensible default.
+    return 96.;
+}
+
 size_t RenderPDFBitmaps(const void* pBuffer, int nSize, std::vector<Bitmap>& rBitmaps,
                         const size_t nFirstPage, int nPages, const basegfx::B2DTuple* pSizeHint)
 {
 #if HAVE_FEATURE_PDFIUM
-    const double fResolutionDPI = 96;
+    static const double fResolutionDPI = getDefaultPdfResolutionDpi();
     auto pPdfium = vcl::pdf::PDFiumLibrary::get();
 
     // Load the buffer using pdfium.


More information about the Libreoffice-commits mailing list