Skip to content

导入和导出

注释

Annotation 数据导入导出支持三种文件格式:XFDFFDFJSON。下面的表格列出了当前不支持导入/导出的注释。

文件类型是否所有的注释都支持不支持的注释
XFDF/FDF大部分Screen Image, Link, Sound
JSON大部分Screen Image, Link, Sound

API

下面表格列出了 Foxit PDF SDK for Web 提供的用于导入/导出注释数据文件的 APIs。

方法XFDF/FDFJSONJSON
ImportPDFDoc.importAnnotsFromFDF()PDFDoc.importAnnotsFromJSON(annotsJson)PDFPage.AddAnnot(annotJson)
ExportPDFDoc.exportAnnotsToFDF()PDFDoc.exportAnnotsToJSON()Annot.exportToJson()

建议

建议使用相对应的方法导入和导出数据。例如,如果调用 PDFDoc.exportAnnotsToJSON() 导出数据,则最好使用 PDFDoc.importAnnotsFromJSON(annotsJson) 导入数据。

注意

使用 PDFPage.addAnnot 方法导入通过 PDFDoc.exportAnnotsToJSON() 导出的数据时,某些注释(如 StampFileAttachment )的二进制数据流会丢失。这是因为 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]);
}

表单

表单支持三种文件导入/导出的标准数据类型:XFDFFDFXML

API

以下列出了 Foxit PDF SDK for Web 提供的用于导入/导出表单数据文件的 APIs。

  • PDFDoc.exportFormToFile(fileType)
  • PDFDoc.importFormFromFile(file, isXML)