diff options
author | Bo Xu <bo_xu@foxitsoftware.com> | 2014-07-14 13:22:47 -0700 |
---|---|---|
committer | Bo Xu <bo_xu@foxitsoftware.com> | 2014-07-14 13:22:47 -0700 |
commit | 9114e831cc8ae619ce541719887c5d7c2fc4e6d1 (patch) | |
tree | 4940928e138a7896f938b8d41bd2055fec51c1e3 /core | |
parent | 8daab317ff959905e926b861a7d2aa876fd10429 (diff) | |
download | pdfium-9114e831cc8ae619ce541719887c5d7c2fc4e6d1.tar.xz |
Add support to extract viewer preference
This change adds the support to extract "NumCopies", "PrintPageRange", "Duplex" viewer preferences for printing.
BUG=169120
R=bo_xu@foxitsoftware.com, vitalybuka@chromium.org
Review URL: https://codereview.chromium.org/345123002
Diffstat (limited to 'core')
-rw-r--r-- | core/include/fpdfdoc/fpdf_doc.h | 5 | ||||
-rw-r--r-- | core/src/fpdfdoc/doc_viewerPreferences.cpp | 29 |
2 files changed, 34 insertions, 0 deletions
diff --git a/core/include/fpdfdoc/fpdf_doc.h b/core/include/fpdfdoc/fpdf_doc.h index cbb0fd4a11..e4cf777c1f 100644 --- a/core/include/fpdfdoc/fpdf_doc.h +++ b/core/include/fpdfdoc/fpdf_doc.h @@ -1657,6 +1657,11 @@ public: FX_BOOL PrintScaling() const; + FX_INT32 NumCopies() const; + + CPDF_Array* PrintPageRange() const; + + CFX_ByteString Duplex() const; protected: CPDF_Document* m_pDoc; diff --git a/core/src/fpdfdoc/doc_viewerPreferences.cpp b/core/src/fpdfdoc/doc_viewerPreferences.cpp index 617485cfc2..f68d3fbdc7 100644 --- a/core/src/fpdfdoc/doc_viewerPreferences.cpp +++ b/core/src/fpdfdoc/doc_viewerPreferences.cpp @@ -29,3 +29,32 @@ FX_BOOL CPDF_ViewerPreferences::PrintScaling() const } return FX_BSTRC("None") != pDict->GetString(FX_BSTRC("PrintScaling")); } +FX_INT32 CPDF_ViewerPreferences::NumCopies() const +{ + CPDF_Dictionary *pDict = m_pDoc->GetRoot(); + pDict = pDict->GetDict(FX_BSTRC("ViewerPreferences")); + if (!pDict) { + return 1; + } + return pDict->GetInteger(FX_BSTRC("NumCopies")); +} +CPDF_Array* CPDF_ViewerPreferences::PrintPageRange() const +{ + CPDF_Dictionary *pDict = m_pDoc->GetRoot(); + CPDF_Array *pRange = NULL; + pDict = pDict->GetDict(FX_BSTRC("ViewerPreferences")); + if (!pDict) { + return pRange; + } + pRange = pDict->GetArray(FX_BSTRC("PrintPageRange")); + return pRange; +} +CFX_ByteString CPDF_ViewerPreferences::Duplex() const +{ + CPDF_Dictionary *pDict = m_pDoc->GetRoot(); + pDict = pDict->GetDict(FX_BSTRC("ViewerPreferences")); + if (!pDict) { + return FX_BSTRC("None"); + } + return pDict->GetString(FX_BSTRC("Duplex")); +} |