aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf-c.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2009-10-19 02:36:51 +0200
committerJay Berkenbilt <ejb@ql.org>2009-10-19 02:36:51 +0200
commita8715c495b218c9b9388a2e20c8202a3fa73b2c1 (patch)
tree721a4a9c39d9c9fdf3a150cf64859c331d392fc2 /libqpdf/qpdf-c.cc
parent09175e457852c585a68a86d43280f7e0790a4a3b (diff)
downloadqpdf-a8715c495b218c9b9388a2e20c8202a3fa73b2c1.tar.zst
add C API for R4 encryption
git-svn-id: svn+q:///qpdf/trunk@825 71b93d88-0707-0410-a8cf-f5a4172ac649
Diffstat (limited to 'libqpdf/qpdf-c.cc')
-rw-r--r--libqpdf/qpdf-c.cc26
1 files changed, 26 insertions, 0 deletions
diff --git a/libqpdf/qpdf-c.cc b/libqpdf/qpdf-c.cc
index abc74c95..96de680f 100644
--- a/libqpdf/qpdf-c.cc
+++ b/libqpdf/qpdf-c.cc
@@ -313,6 +313,12 @@ void qpdf_set_static_ID(qpdf_data qpdf, QPDF_BOOL value)
qpdf->qpdf_writer->setStaticID(value);
}
+void qpdf_set_static_aes_IV(qpdf_data qpdf, QPDF_BOOL value)
+{
+ QTC::TC("qpdf", "qpdf-c called qpdf_set_static_aes_IV");
+ qpdf->qpdf_writer->setStaticAesIV(value);
+}
+
void qpdf_set_suppress_original_object_IDs(
qpdf_data qpdf, QPDF_BOOL value)
{
@@ -356,6 +362,26 @@ void qpdf_set_r3_encryption_parameters(
QPDFWriter::r3m_all));
}
+void qpdf_set_r4_encryption_parameters(
+ qpdf_data qpdf, char const* user_password, char const* owner_password,
+ QPDF_BOOL allow_accessibility, QPDF_BOOL allow_extract,
+ int print, int modify, QPDF_BOOL encrypt_metadata, QPDF_BOOL use_aes)
+{
+ QTC::TC("qpdf", "qpdf-c called qpdf_set_r4_encryption_parameters");
+ qpdf->qpdf_writer->setR4EncryptionParameters(
+ user_password, owner_password,
+ allow_accessibility, allow_extract,
+ ((print == QPDF_R3_PRINT_LOW) ? QPDFWriter::r3p_low :
+ (print == QPDF_R3_PRINT_NONE) ? QPDFWriter::r3p_none :
+ QPDFWriter::r3p_full),
+ ((modify == QPDF_R3_MODIFY_ANNOTATE) ? QPDFWriter::r3m_annotate :
+ (modify == QPDF_R3_MODIFY_FORM) ? QPDFWriter::r3m_form :
+ (modify == QPDF_R3_MODIFY_ASSEMBLY) ? QPDFWriter::r3m_assembly :
+ (modify == QPDF_R3_MODIFY_NONE) ? QPDFWriter::r3m_none :
+ QPDFWriter::r3m_all),
+ encrypt_metadata, use_aes);
+}
+
void qpdf_set_linearization(qpdf_data qpdf, QPDF_BOOL value)
{
QTC::TC("qpdf", "qpdf-c called qpdf_set_linearization");