7#include "core/fpdfdoc/cpdf_viewerpreferences.h"
9#include "core/fpdfapi/parser/cpdf_array.h"
10#include "core/fpdfapi/parser/cpdf_dictionary.h"
11#include "core/fpdfapi/parser/cpdf_document.h"
12#include "core/fpdfapi/parser/cpdf_name.h"
21 return pDict && pDict->GetByteStringFor(
"Direction") ==
"R2L";
26 return !pDict || pDict->GetByteStringFor(
"PrintScaling") !=
"None";
31 return pDict ? pDict->GetIntegerFor(
"NumCopies") : 1;
36 return pDict ? pDict->GetArrayFor(
"PrintPageRange") :
nullptr;
41 return pDict ? pDict->GetByteStringFor(
"Duplex") :
ByteString("None");
50 RetainPtr<
const CPDF_Name> pName = ToName(pDict->GetObjectFor(bsKey));
54 return pName->GetString();
60 return pDict ? pDict
->GetDictFor(
"ViewerPreferences") :
nullptr;
fxcrt::ByteString ByteString
std::vector< RetainPtr< CPDF_Object > >::const_iterator const_iterator
RetainPtr< const CPDF_Dictionary > GetDictFor(const ByteString &key) const
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
std::optional< ByteString > GenericName(const ByteString &bsKey) const
bool IsDirectionR2L() const
RetainPtr< const CPDF_Array > PrintPageRange() const
int32_t NumCopies() const
CPDF_ViewerPreferences(const CPDF_Document *pDoc)
ByteString Duplex() const
~CPDF_ViewerPreferences()
bool PrintScaling() const
ByteString(const char *ptr)