导入和导出
注释
Annotation 数据导入导出支持三种文件格式:XFDF、FDF 和 JSON。下面的表格列出了当前不支持导入/导出的注释。
文件类型 | 是否所有的注释都支持 | 不支持的注释 |
---|---|---|
XFDF/FDF | 大部分 | Screen Image , Link , Sound |
JSON | 大部分 | Screen Image , Link , Sound |
API
下面表格列出了 Foxit PDF SDK for Web 提供的用于导入/导出注释数据文件的 APIs。
方法 | XFDF/FDF | JSON | JSON |
---|---|---|---|
Import | PDFDoc.importAnnotsFromFDF() | PDFDoc.importAnnotsFromJSON(annotsJson) | PDFPage.AddAnnot(annotJson) |
Export | PDFDoc.exportAnnotsToFDF() | PDFDoc.exportAnnotsToJSON() | Annot.exportToJson() |
建议
建议使用相对应的方法导入和导出数据。例如,如果调用 PDFDoc.exportAnnotsToJSON()
导出数据,则最好使用 PDFDoc.importAnnotsFromJSON(annotsJson)
导入数据。
注意
使用 PDFPage.addAnnot
方法导入通过 PDFDoc.exportAnnotsToJSON()
导出的数据时,某些注释(如 Stamp
和 FileAttachment
)的二进制数据流会丢失。这是因为 PDFPage.addAnnot
方法不支持包含二进制流的 JSON 数据。
javascript
var pdfViewer = await pdfui.getPDFViewer();
var test = {ExportDataFile: 'http://pathToSourceFile.pdf', ImportDatafile: 'http://pathToTargetFile.pdf'};
var resp = await fetch(test.ExportDataFile);
var file = await resp.blob();
var pdfdoc = await pdfViewer.openPDFByFile(file);
var annotJson = await pdfdoc.exportAnnotsToJSON();
var newResp = await fetch(test.ImportDatafile);
var newFile = await newResp.blob()
var newPdfdoc = await pdfViewer.openPDFByFile(newFile);
for (var i = 0; i < annotJson.length; i++) {
var newPage = await newPdfdoc.getPageByIndex(annotJson[i].page);
var newAnnot = await newPage.addAnnot(annotJson[i]);
}
表单
表单支持三种文件导入/导出的标准数据类型:XFDF、FDF 和 XML。
API
以下列出了 Foxit PDF SDK for Web 提供的用于导入/导出表单数据文件的 APIs。
PDFDoc.exportFormToFile(fileType)
PDFDoc.importFormFromFile(file, isXML)