summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/include/fpdfdoc/fpdf_doc.h5
-rw-r--r--core/src/fpdfdoc/doc_viewerPreferences.cpp29
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"));
+}