diff options
-rw-r--r-- | vcl/source/filter/ipdf/pdfread.cxx | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/vcl/source/filter/ipdf/pdfread.cxx b/vcl/source/filter/ipdf/pdfread.cxx index 9cdb10070ef6..be9738a9f32f 100644 --- a/vcl/source/filter/ipdf/pdfread.cxx +++ b/vcl/source/filter/ipdf/pdfread.cxx @@ -116,10 +116,26 @@ BinaryDataContainer createBinaryDataContainer(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<BitmapEx>& rBitmaps, const size_t nFirstPage, int nPages, const basegfx::B2DTuple* pSizeHint) { - const double fResolutionDPI = 96; + static const double fResolutionDPI = getDefaultPdfResolutionDpi(); auto pPdfium = vcl::pdf::PDFiumLibrary::get(); if (!pPdfium) { |