summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipdfm-x/pdfdoc.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvipdfm-x/pdfdoc.c')
-rw-r--r--Build/source/texk/dvipdfm-x/pdfdoc.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/Build/source/texk/dvipdfm-x/pdfdoc.c b/Build/source/texk/dvipdfm-x/pdfdoc.c
index eca1fad797d..b03a62711b7 100644
--- a/Build/source/texk/dvipdfm-x/pdfdoc.c
+++ b/Build/source/texk/dvipdfm-x/pdfdoc.c
@@ -2491,13 +2491,14 @@ pdf_doc_add_page_content (const char *buffer, unsigned length)
}
void
-pdf_open_document (const char *filename, const char **ids, struct pdf_setting settings)
+pdf_open_document (const char *filename,
+ const char *creator, const unsigned char *id1, const unsigned char *id2,
+ struct pdf_setting settings)
{
pdf_doc *p = &pdoc;
- pdf_enc_compute_id_string(ids[0], ids[1], ids[2]);
if (settings.enable_encrypt)
- pdf_init_encryption(settings.encrypt);
+ pdf_init_encryption(settings.encrypt, id1);
pdf_out_init(filename, settings.enable_encrypt,
settings.object.enable_objstm, settings.object.enable_predictor);
@@ -2515,10 +2516,10 @@ pdf_open_document (const char *filename, const char **ids, struct pdf_setting se
pdf_init_images();
pdf_doc_init_docinfo(p);
- if (ids[3]) {
+ if (creator) {
pdf_add_dict(p->info,
pdf_new_name("Creator"),
- pdf_new_string(ids[3], strlen(ids[3])));
+ pdf_new_string(creator, strlen(creator)));
}
pdf_doc_init_bookmarks(p, settings.outline_open_depth);
@@ -2533,7 +2534,13 @@ pdf_open_document (const char *filename, const char **ids, struct pdf_setting se
pdf_set_encrypt(encrypt);
pdf_release_obj(encrypt);
}
- pdf_set_id(pdf_enc_id_array());
+ if (id1 && id2) {
+ pdf_obj *id_obj = pdf_new_array();
+
+ pdf_add_array(id_obj, pdf_new_string(id1, 16));
+ pdf_add_array(id_obj, pdf_new_string(id2, 16));
+ pdf_set_id(id_obj);
+ }
/* Create a default name for thumbnail image files */
if (manual_thumb_enabled) {