gpt4 book ai didi

javascript - PDFTron : How to add an input field

转载 作者:行者123 更新时间:2023-11-28 03:09:01 24 4
gpt4 key购买 nike

我尝试使用 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 上没有显示任何内容

有什么想法吗?

最佳答案

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

这是否阐明了以编程方式添加字段的过程,以及您是否还有其他问题,请告诉我。

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();
});

});

关于javascript - PDFTron : How to add an input field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60336540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com