summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/image/pdftoepdf.w
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/image/pdftoepdf.w')
-rw-r--r--Build/source/texk/web2c/luatexdir/image/pdftoepdf.w25
1 files changed, 14 insertions, 11 deletions
diff --git a/Build/source/texk/web2c/luatexdir/image/pdftoepdf.w b/Build/source/texk/web2c/luatexdir/image/pdftoepdf.w
index b9d496ac9f0..d86504f82bc 100644
--- a/Build/source/texk/web2c/luatexdir/image/pdftoepdf.w
+++ b/Build/source/texk/web2c/luatexdir/image/pdftoepdf.w
@@ -707,7 +707,7 @@ void read_pdf_info(image_dict * idict)
that can happen during PDF inclusion will arise here.
*/
-void write_epdf(PDF pdf, image_dict * idict)
+void write_epdf(PDF pdf, image_dict * idict, int suppress_optional_info)
{
PdfDocument *pdf_doc = NULL;
PDFDoc *doc = NULL;
@@ -719,7 +719,7 @@ void write_epdf(PDF pdf, image_dict * idict)
PDFRectangle *pagebox;
int i, l;
double bbox[4];
- char s[256];
+ /* char s[256]; */
const char *pagedictkeys[] = {
"Group", "LastModified", "Metadata", "PieceInfo", "Resources", "SeparationInfo", NULL
};
@@ -743,20 +743,23 @@ void write_epdf(PDF pdf, image_dict * idict)
pdf_begin_dict(pdf);
pdf_dict_add_name(pdf, "Type", "XObject");
pdf_dict_add_name(pdf, "Subtype", "Form");
- if (img_attr(idict) != NULL && strlen(img_attr(idict)) > 0)
+ if (img_attr(idict) != NULL && strlen(img_attr(idict)) > 0) {
pdf_printf(pdf, "\n%s\n", img_attr(idict));
+ }
pdf_dict_add_int(pdf, "FormType", 1);
/* write additional information */
pdf_dict_add_img_filename(pdf, idict);
- snprintf(s, 30, "%s.PageNumber", pdfkeyprefix);
- pdf_dict_add_int(pdf, s, (int) img_pagenum(idict));
- doc->getDocInfoNF(&obj1);
- if (obj1.isRef()) {
- /* the info dict must be indirect (PDF Ref p. 61) */
- snprintf(s, 30, "%s.InfoDict", pdfkeyprefix);
- pdf_dict_add_ref(pdf, s, addInObj(pdf, pdf_doc, obj1.getRef()));
+ if ((suppress_optional_info & 4) == 0) {
+ pdf_dict_add_int(pdf, "PTEX.PageNumber", (int) img_pagenum(idict));
+ }
+ if ((suppress_optional_info & 8) == 0) {
+ doc->getDocInfoNF(&obj1);
+ if (obj1.isRef()) {
+ /* the info dict must be indirect (PDF Ref p. 61) */
+ pdf_dict_add_ref(pdf, "PTEX.InfoDict", addInObj(pdf, pdf_doc, obj1.getRef()));
+ }
+ obj1.free();
}
- obj1.free();
if (img_is_bbox(idict)) {
bbox[0] = sp2bp(img_bbox(idict)[0]);
bbox[1] = sp2bp(img_bbox(idict)[1]);