summaryrefslogtreecommitdiff
path: root/svx/source/svdraw/svdpdf.cxx
diff options
context:
space:
mode:
authorAshod Nakashian <ashod.nakashian@collabora.co.uk>2018-04-15 20:32:52 -0400
committerJan Holesovsky <kendy@collabora.com>2018-06-07 10:45:28 +0200
commit81dfcf9b251192841f5049b028d4039d17133b5a (patch)
tree80908b766ca15e35c217e410d53b90716ad926cc /svx/source/svdraw/svdpdf.cxx
parente3963007d028d4ab3347235d2c692dadbf7e4168 (diff)
sd: support breaking any PDF page
Change-Id: Ifa5f58163bef209a988fc0f88e2b609b1973e0d4
Diffstat (limited to 'svx/source/svdraw/svdpdf.cxx')
-rw-r--r--svx/source/svdraw/svdpdf.cxx13
1 files changed, 7 insertions, 6 deletions
diff --git a/svx/source/svdraw/svdpdf.cxx b/svx/source/svdraw/svdpdf.cxx
index a69ce46e00de..b3e1f51730ed 100644
--- a/svx/source/svdraw/svdpdf.cxx
+++ b/svx/source/svdraw/svdpdf.cxx
@@ -207,16 +207,17 @@ ImpSdrPdfImport::~ImpSdrPdfImport()
FPDF_DestroyLibrary();
}
-void ImpSdrPdfImport::DoLoopActions(SvdProgressInfo* pProgrInfo, sal_uInt32* pActionsToReport)
+void ImpSdrPdfImport::DoLoopActions(SvdProgressInfo* pProgrInfo, sal_uInt32* pActionsToReport,
+ int nPageIndex)
{
const int nPageCount = FPDF_GetPageCount(mpPdfDocument);
- SAL_WARN("sd.filter", "Pages: " << nPageCount);
- for (size_t nPageIndex = 0; nPageIndex <= 0; ++nPageIndex)
+ SAL_WARN("sd.filter", "Importing page " << nPageIndex << " of " << nPageCount);
+ if (nPageCount > 0 && nPageIndex >= 0 && nPageIndex < nPageCount)
{
// Render next page.
FPDF_PAGE pPdfPage = FPDF_LoadPage(mpPdfDocument, nPageIndex);
if (pPdfPage == nullptr)
- break;
+ return;
const double dPageWidth = FPDF_GetPageWidth(pPdfPage);
const double dPageHeight = FPDF_GetPageHeight(pPdfPage);
@@ -482,7 +483,7 @@ void ImpSdrPdfImport::SetupPageScale(const double dPageWidth, const double dPage
<< "(" << mfScaleY << ")");
}
-size_t ImpSdrPdfImport::DoImport(SdrObjList& rOL, size_t nInsPos, size_t nPageNumber,
+size_t ImpSdrPdfImport::DoImport(SdrObjList& rOL, size_t nInsPos, int nPageNumber,
SvdProgressInfo* pProgrInfo)
{
if (pProgrInfo)
@@ -493,7 +494,7 @@ size_t ImpSdrPdfImport::DoImport(SdrObjList& rOL, size_t nInsPos, size_t nPageNu
sal_uInt32 nActionsToReport(0);
// execute
- DoLoopActions(pProgrInfo, &nActionsToReport);
+ DoLoopActions(pProgrInfo, &nActionsToReport, nPageNumber);
if (pProgrInfo)
{