我尝试使用 PDFTron 添加输入字段,但 PDF 中没有任何内容,

我跟着这个文档: https : //www.pdftron.com/documentation/samples/js/InteractiveFormsTest

这是我尝试过的:

 (() => {
    window.addEventListener('documentLoaded', async () => {
       await PDFNet.initialize();
       const doc = readerControl.docViewer.getDocument();
       const pdfDoc = await doc.getPDFDoc();
       await pdfDoc.requirePage(1);
       await PDFNet.runWithCleanup(async () => await main(pdfDoc));
       readerControl.docViewer.refreshAll();
       readerControl.docViewer.updateView();
  });

  async function main(pdfDoc) {
       ...
       const pageRect = await PDFNet.Rect.init(0, 0, 612, 794);
       let page = await pdfDoc.pageCreate(pageRect);
       const empFirstName = await pdfDoc.fieldCreateFromStrings('test', PDFNet.Field.Type.e_text, 'John', 'fg');
      const annot1 = await PDFNet.WidgetAnnot.create(pdfDoc, await PDFNet.Rect.init(50, 550, 350, 600), empFirstName);
      page.annotPushBack(annot1);


      pdfDoc.pagePushBack(page);
      pdfDoc.refreshFieldAppearances();
      ...
 };

结果:PDF 上没有任何内容

任何的想法?

#1楼 票数:0

我查看了您的代码并进行了一些修改 - 我不确定哪些内容被截断了,但也许您错过了一些步骤。

让我知道这是否阐明了以编程方式添加字段的过程,以及您是否有其他问题。

window.addEventListener('documentLoaded', async() => {
const docViewer = readerControl.docViewer;
const annotManager = docViewer.getAnnotationManager();
await PDFNet.initialize();
const doc = readerControl.docViewer.getDocument();
const pdfDoc = await doc.getPDFDoc();
await pdfDoc.requirePage(1);
await PDFNet.runWithCleanup(async () => {
  const document = docViewer.getDocument();
  const pdfDoc = await document.getPDFDoc();

  const empFirstName = await pdfDoc.fieldCreateFromStrings('test', PDFNet.Field.Type.e_text, 'John', 'fg');
  const annot1 = await PDFNet.WidgetAnnot.create(pdfDoc, await PDFNet.Rect.init(50, 550, 350, 600), empFirstName);

  const rotation = docViewer.getCompleteRotation(1) * 90;
  annot1.setRotation(rotation);



  // draw the annotation the viewer
  const page = await pdfDoc.getPage(1);
  await page.annotPushBack(annot1);
  await pdfDoc.refreshFieldAppearances();

  // import newly created form fields
  const fdfDoc = await pdfDoc.fdfExtract(PDFNet.PDFDoc.ExtractFlag.e_both);
  const xfdf = await fdfDoc.saveAsXFDFAsString();

  await annotManager.importAnnotations(xfdf);

  // refresh viewer
  docViewer.refreshAll();
  docViewer.updateView();
  document.refreshTextData();
});

});

  ask by Julien translate from so

未解决问题?本站智能推荐:

2回复

PDFTron自定义脚本应包含哪些内容?

PDFTron可以选择提供一个自定义Javascript文件来修改查看器,但是我不确定该文件中应该包含什么内容,并且我在网络上找不到任何示例。 该网站有以下描述: 查看器选项-默认情况下,PWS Cloud文档加载在WebViewer的基本托管版本中。 您可以通过加载外部JavaSc
1回复

使用chromepdf查看器可以查看的PDFTron的PDFNetSDK向PDF添加批注

当我将FDFMerge()批注保存为PDF并将其保存时,在Google chrome的pdf查看器中打开PDF时,这些批注不可见。 直接从acrobat打开同一文件或在PDFTron的WebViewer中打开时,注释可见。 如果我打开一个已被FDFMerge()d却不能在chrome浏览器
2回复

测试PDFTron/PDFNet-添加libTools.a时未找到符号

跟随PDFTron BLOG文章第2步时,我在libTools.a时遇到问题: 在iOS上入门 步骤1,有效。 我有一个工作正常的PDF查看器,但除分页和缩放外没有其他控件。 当我添加libTools.a库(SDK中附带的一个库,或使用Tools.xcodeproj构建的一个库)时,对
1回复

向Xamarin的PDFTron.Android中不起作用的页面添加自定义视图

我正在尝试将 PDFTron 用于 Xamarin Android。 我想渲染和绘制我的自定义注释,而不使用他们的注释系统。 根据他们在https://www.pdftron.com/documentation/xamarin/guides/ui-customization/custom-view/
1回复

使用PDFTron(PdfNet)绘制矩形注释

我正在尝试让用户在pdf中创建一个矩形。 用户可以在屏幕上拖动一个矩形。 在mouseup事件上,创建一个Rect对象并将其传递给方法AddRectAnnotationToPage(Rectangle rect) 问题在于矩形注释与用户拖动的矩形不同。 当用户单击或滚动时,注释矩形将
1回复

使用Pdftron库

我试图在我的 python 项目中使用 Pdftron api,但我无法在项目中添加库。 我最终无法阅读 pdftron 站点中的所有文档。 请帮忙。
1回复

PDFTron中的CustomRelativeLayoutLayout_with和layout_height不起作用

嗨,我在 Android Xamarin 项目的 PDFViewerCtrl 中有这个 CustomRelativeLayout: 当它被渲染时,我看到了这个: 位置 x=50 y=150 中的 50*150 矩形。 但是我期望的是在页面位置 x=50 y=150 处绘制一个 250x250 的矩
1回复

放弃注释pdftron-Windows应用商店

我试图在显示pdf并具有添加注释的工具栏的页面上做一个废弃注释按钮。 我想选择添加一些注释后,用户可以恢复到原始文件,并删除他所做的所有注释。 我试图找到一个变量,该变量保存了所作注释的列表,但未发现任何排序。 有没有办法丢弃所有所做的注释,或者我可以看到创建的注释的地方?