# 导入和导出
# 注释
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)
导入数据。
备注: 使用以下方法将导出的 JSON 数据通过 PDFPage.addAnnot
方法添加到文档中会导致某些注释(如 Stamp 和 FileAttachment)的二进制数据流丢失。这是因为 PDFPage.addAnnot
方法不支持包含二进制流的 json 数据。 因此 PDFDoc.exportAnnotsToJSON
导出的数据包含二进制流,则不能传递给 PDFPage.addAnnot
方法。
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)
← 数字签名 Stamp 及其自定义 →