Пользовательская история. Как пользователь, я хочу иметь возможность прикрепить документ (обычно в формате pdf) к форме в формате pdf, чтобы я мог доказать, что выполнил требуемую операцию для определенной позиции.
Я достигаю этого с помощью следующего кода javascript, связанного с событием мыши на кнопке в формате PDF:
// JavaScript source code
// Initialize attachment number
attachment_num = 1;
// Initial location of file attachment icon
// The x value is incremented below
var oFAP = { x_init: 72, x: 72, y: 72 }; // Below lower-left corner of the page
if (app.viewerVersion < 11) {
if (app.viewerType === "Reader") {
app.alert({
cMsg: "You must user Reader version 11 or later to attach files to this form.",
cTitle: "Attach File Error",
nIcon: 3,
nType: 0
});
}
// Prompt user to import a file
app.alert({
cMsg: "Click the OK/Open button after selecting the file from your system that you want to attach.",
cTitle: "Attach File",
nIcon: 3,
nType: 0
});
try {
var rc = this.importDataObject("Attachment" + attachment_num);
if (rc) {
attachment_num += 1;
app.alert({
cMsg: "Attachment successful.\r\rOpen the Attachments panel to access the attached file(s).",
cTitle: "Attachment Successful",
nIcon: 3,
nType: 0
});
} else {
app.alert({
cMsg: "Attachment cancelled.",
cTitle: "Attachment Cancelled",
nIcon: 3,
nType: 0
});
}
} catch (e) {
app.alert({
cMsg: "Could not attach file.",
cTitle: "Could not attach file",
nIcon: 3,
nType: 0
});
}
} else {
try {
var annot = addAnnot({
page: event.target.page,
type: "FileAttachment",
author: "Form user",
name: "File Attachment",
point: [oFAP.x, oFAP.y],
contents: "File attachment on: " + util.printd("yyyy/mm/dd HH:MM:ss", new Date()),
attachIcon: "Paperclip"
});
annot.cAttachmentPath; // Prompt user to select a file to attach
oFAP.x += 18; // Increment the x location for the icon
} catch (e) {
app.alert({
cMsg: "Could not attach file.\r\rPlease report this error.",
cTitle: "File attachment error",
nIcon: 3,
nType: 0
});
}
}
Это работает нормально, и я вижу прикрепленный документ, сидящий на боковой панели приложений,Пока проблем нет!
История пользователя (продолжение): Как пользователь, я хочу прикрепить вывод из формы (в XML, но XFDF допустимо) и загруженных вложенийна PDF в электронном письме.
Здесь я сталкиваюсь с проблемами.Я могу экспортировать данные формы в электронное письмо со следующим кодом (опять же, прикрепленным к событию мыши на кнопке):
var url = "mailto:testemail@xyz.com?subject=My Subject&body=Here is my form data.";
this.submitForm({cURL: url, cSubmitAs: "XFDF"})
Я не могу найти на форумах Adobe или в StackOverflowкак я могу добавить прикрепленные документы на электронную почту.Я думаю, что логика заключается в том, чтобы «скопировать все вложения, содержащиеся в« списке вложений », и добавить их как вложения в электронное письмо», но я действительно не знаю, как это сделать.Я попробовал следующий код, но я думаю, что это больше связано с отправкой на веб-сервер, а не с электронной почтой:
var oParent = event.target;
// Get the list of attachments:
var oDataObjects = oParent.dataObjects;
if (oDataObjects == null)
app.alert("This form has no attachments!");
else {
// Create the root node for the global submit:
var oSubmitData = oParent.xfa.dataSets.createNode(
"dataGroup",
"globalSubmitRootNode"
);
// Iterate through all the attachments:
var nChildren = oDataObjects.length;
for (var iChild = 0; iChild < nChildren; i++) {
// Open the next attachment:
var oNextChild = oParent.openDataObject(
oDataObjects[iChild].name
);
// Transfer its data to the XML collection:
oSubmitData.nodes.append(
oNextChild.xfa.data.nodes.item(0)
);
//close the attachment
oNextChild.closeDoc();
}
// Submit the XML data collection to the server
oParent.submitForm({
cURL: "mailto:testemail@qoppa.com?subject=My Subject&body=Here is my form data.",
cSubmitAs: "XML",
oXML: oSubmitData
});
}
Если кто-то может предоставить некоторое представление о том, как я могу привести прикрепленныйдокументы через PDF-форму в электронное письмо, созданное this.submitform
заявлением, я буду вечно благодарен!
Большое спасибо!