diff options
Diffstat (limited to 'Build/source/texk/dvipdfm-x/pdfdoc.c')
-rw-r--r-- | Build/source/texk/dvipdfm-x/pdfdoc.c | 19 |
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) { |