vcl/Library_vcl.mk | 1 vcl/source/filter/ipdf/pdfread.cxx | 40 ++++---------------- vcl/source/pdf/PDFiumLibrary.cxx | 57 ---------------------------- vcl/source/pdf/PDFiumTools.cxx | 73 +++++++++++++++++++++++++++++++++++++ 4 files changed, 82 insertions(+), 89 deletions(-)
New commits: commit f1779fcef6535edf53d194fbd366de232653f189 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Wed Mar 31 20:51:38 2021 +0200 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Thu Apr 1 09:10:51 2021 +0200 vcl pdfread: clean up not needed HAVE_FEATURE_PDFIUM ifdefs Towards completely avoiding the HAVE_FEATURE_PDFIUM ifdef forest. Change-Id: Ide634f14087ec18e5ab8186be21def0698ddbd5b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113428 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmik...@collabora.com> diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index fba19b4e5fb3..c788fb164ce9 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -499,6 +499,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/fontsubset/sft \ vcl/source/fontsubset/ttcr \ vcl/source/fontsubset/xlat \ + vcl/source/pdf/PDFiumTools \ vcl/source/uitest/logger \ vcl/source/uitest/uiobject \ vcl/source/uitest/uitest \ diff --git a/vcl/source/filter/ipdf/pdfread.cxx b/vcl/source/filter/ipdf/pdfread.cxx index c51d350e3dda..86adec409f90 100644 --- a/vcl/source/filter/ipdf/pdfread.cxx +++ b/vcl/source/filter/ipdf/pdfread.cxx @@ -9,11 +9,7 @@ #include <vcl/pdfread.hxx> -#include <config_features.h> - -#if HAVE_FEATURE_PDFIUM #include <tools/UnitConversion.hxx> -#endif #include <vcl/graph.hxx> #include <bitmap/BitmapWriteAccess.hxx> @@ -27,8 +23,6 @@ using namespace com::sun::star; namespace { -#if HAVE_FEATURE_PDFIUM - /// Convert to inch, then assume 96 DPI. inline double pointToPixel(const double fPoint, const double fResolutionDPI) { @@ -96,14 +90,6 @@ bool getCompatibleStream(SvStream& rInStream, SvStream& rOutStream) return rOutStream.good(); } -#else -bool getCompatibleStream(SvStream& rInStream, SvStream& rOutStream) -{ - rInStream.Seek(STREAM_SEEK_TO_BEGIN); - rOutStream.WriteStream(rInStream, STREAM_SEEK_TO_END); - return rOutStream.good(); -} -#endif // HAVE_FEATURE_PDFIUM BinaryDataContainer createBinaryDataContainer(SvStream& rStream) { @@ -131,9 +117,12 @@ namespace vcl size_t RenderPDFBitmaps(const void* pBuffer, int nSize, std::vector<BitmapEx>& rBitmaps, const size_t nFirstPage, int nPages, const basegfx::B2DTuple* pSizeHint) { -#if HAVE_FEATURE_PDFIUM const double fResolutionDPI = 96; auto pPdfium = vcl::pdf::PDFiumLibrary::get(); + if (!pPdfium) + { + return 0; + } // Load the buffer using pdfium. std::unique_ptr<vcl::pdf::PDFiumDocument> pPdfDocument = pPdfium->openDocument(pBuffer, nSize); @@ -217,15 +206,6 @@ size_t RenderPDFBitmaps(const void* pBuffer, int nSize, std::vector<BitmapEx>& r } return rBitmaps.size(); -#else - (void)pBuffer; - (void)nSize; - (void)rBitmaps; - (void)nFirstPage; - (void)nPages; - (void)pSizeHint; - return 0; -#endif // HAVE_FEATURE_PDFIUM } bool importPdfVectorGraphicData(SvStream& rStream, @@ -253,7 +233,6 @@ bool ImportPDF(SvStream& rStream, Graphic& rGraphic) return true; } -#if HAVE_FEATURE_PDFIUM namespace { basegfx::B2DPoint convertFromPDFInternalToHMM(basegfx::B2DSize const& rInputPoint, @@ -431,11 +410,9 @@ findAnnotations(const std::unique_ptr<vcl::pdf::PDFiumPage>& pPage, basegfx::B2D } } // end anonymous namespace -#endif size_t ImportPDFUnloaded(const OUString& rURL, std::vector<PDFGraphicResult>& rGraphics) { -#if HAVE_FEATURE_PDFIUM std::unique_ptr<SvStream> xStream( ::utl::UcbStreamHelper::CreateStream(rURL, StreamMode::READ | StreamMode::SHARE_DENYNONE)); @@ -448,6 +425,10 @@ size_t ImportPDFUnloaded(const OUString& rURL, std::vector<PDFGraphicResult>& rG auto pGfxLink = std::make_shared<GfxLink>(aDataContainer, GfxLinkType::NativePdf); auto pPdfium = vcl::pdf::PDFiumLibrary::get(); + if (!pPdfium) + { + return 0; + } // Load the buffer using pdfium. auto pPdfDocument = pPdfium->openDocument(pGfxLink->GetData(), pGfxLink->GetDataSize()); @@ -487,11 +468,6 @@ size_t ImportPDFUnloaded(const OUString& rURL, std::vector<PDFGraphicResult>& rG } return rGraphics.size(); -#else - (void)rURL; - (void)rGraphics; - return 0; -#endif // HAVE_FEATURE_PDFIUM } } diff --git a/vcl/source/pdf/PDFiumLibrary.cxx b/vcl/source/pdf/PDFiumLibrary.cxx index 53bf57e3aa8a..e8951c476648 100644 --- a/vcl/source/pdf/PDFiumLibrary.cxx +++ b/vcl/source/pdf/PDFiumLibrary.cxx @@ -411,63 +411,6 @@ public: }; } -OUString convertPdfDateToISO8601(OUString const& rInput) -{ - if (rInput.getLength() < 6) - return OUString(); - - OUString prefix = rInput.copy(0, 2); - if (prefix != "D:") - return OUString(); - - OUString sYear = rInput.copy(2, 4); - - OUString sMonth("01"); - if (rInput.getLength() >= 8) - sMonth = rInput.copy(6, 2); - - OUString sDay("01"); - if (rInput.getLength() >= 10) - sDay = rInput.copy(8, 2); - - OUString sHours("00"); - if (rInput.getLength() >= 12) - sHours = rInput.copy(10, 2); - - OUString sMinutes("00"); - if (rInput.getLength() >= 14) - sMinutes = rInput.copy(12, 2); - - OUString sSeconds("00"); - if (rInput.getLength() >= 16) - sSeconds = rInput.copy(14, 2); - - OUString sTimeZoneMark("Z"); - if (rInput.getLength() >= 17) - sTimeZoneMark = rInput.copy(16, 1); - - OUString sTimeZoneHours("00"); - OUString sTimeZoneMinutes("00"); - if ((sTimeZoneMark == "+" || sTimeZoneMark == "-") && rInput.getLength() >= 22) - { - OUString sTimeZoneSeparator = rInput.copy(19, 1); - if (sTimeZoneSeparator == "'") - { - sTimeZoneHours = rInput.copy(17, 2); - sTimeZoneMinutes = rInput.copy(20, 2); - } - } - - OUString sTimeZoneString; - if (sTimeZoneMark == "+" || sTimeZoneString == "-") - sTimeZoneString = sTimeZoneMark + sTimeZoneHours + ":" + sTimeZoneMinutes; - else if (sTimeZoneMark == "Z") - sTimeZoneString = sTimeZoneMark; - - return sYear + "-" + sMonth + "-" + sDay + "T" + sHours + ":" + sMinutes + ":" + sSeconds - + sTimeZoneString; -} - PDFiumImpl::PDFiumImpl() { FPDF_LIBRARY_CONFIG aConfig; diff --git a/vcl/source/pdf/PDFiumTools.cxx b/vcl/source/pdf/PDFiumTools.cxx new file mode 100644 index 000000000000..f6428f02b167 --- /dev/null +++ b/vcl/source/pdf/PDFiumTools.cxx @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + */ + +#include <vcl/filter/PDFiumLibrary.hxx> + +namespace vcl::pdf +{ +OUString convertPdfDateToISO8601(OUString const& rInput) +{ + if (rInput.getLength() < 6) + return OUString(); + + OUString prefix = rInput.copy(0, 2); + if (prefix != "D:") + return OUString(); + + OUString sYear = rInput.copy(2, 4); + + OUString sMonth("01"); + if (rInput.getLength() >= 8) + sMonth = rInput.copy(6, 2); + + OUString sDay("01"); + if (rInput.getLength() >= 10) + sDay = rInput.copy(8, 2); + + OUString sHours("00"); + if (rInput.getLength() >= 12) + sHours = rInput.copy(10, 2); + + OUString sMinutes("00"); + if (rInput.getLength() >= 14) + sMinutes = rInput.copy(12, 2); + + OUString sSeconds("00"); + if (rInput.getLength() >= 16) + sSeconds = rInput.copy(14, 2); + + OUString sTimeZoneMark("Z"); + if (rInput.getLength() >= 17) + sTimeZoneMark = rInput.copy(16, 1); + + OUString sTimeZoneHours("00"); + OUString sTimeZoneMinutes("00"); + if ((sTimeZoneMark == "+" || sTimeZoneMark == "-") && rInput.getLength() >= 22) + { + OUString sTimeZoneSeparator = rInput.copy(19, 1); + if (sTimeZoneSeparator == "'") + { + sTimeZoneHours = rInput.copy(17, 2); + sTimeZoneMinutes = rInput.copy(20, 2); + } + } + + OUString sTimeZoneString; + if (sTimeZoneMark == "+" || sTimeZoneString == "-") + sTimeZoneString = sTimeZoneMark + sTimeZoneHours + ":" + sTimeZoneMinutes; + else if (sTimeZoneMark == "Z") + sTimeZoneString = sTimeZoneMark; + + return sYear + "-" + sMonth + "-" + sDay + "T" + sHours + ":" + sMinutes + ":" + sSeconds + + sTimeZoneString; +} +} // end vcl::pdf + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits