PDFTron webviewer - 如何使用 ASP.net MVC Core 将整个编辑后的 pdf 保存到服务器
PDFTron webviewer - how to save the whole redacted pdf to server using ASP.net MVC Core
我目前正在使用 PDFTron webviewer 在 MVC Core 中开发应用程序。有没有办法把用pdftron webviewer编辑好的pdf保存到服务器?
pdftron 有一个将注释保存到服务器的功能,但我需要将整个 pdf 连同编辑保存到服务器。
WebViewer({
path: '/lib/WebViewer',
initialDoc: '/StaticResource/Music.pdf', fullAPI: !0, enableRedaction: !0
}, document.getElementById('viewer')).then(
function(t) {
samplesSetup(t);
var n = t.docViewer;
n.on('documentLoaded', function() {
document.getElementById('apply-redactions').onclick = function() {
t.showWarningMessage({
title: 'Apply redaction?',
message: 'This action will permanently remove all items selected for redaction. It cannot be undone.',
onConfirm: function () {
alert( );
t.docViewer.getAnnotationManager().applyRedactions()
debugger
var options = {
xfdfString: n.getAnnotationManager().exportAnnotations()
};
var doc = n.getDocument();
const data = doc.getFileData(options);
const arr = new Uint8Array(data);
const blob = new Blob([arr], { type: 'application/pdf' });
const data = new FormData();
data.append('mydoc.pdf', blob, 'mydoc.pdf');
// depending on the server, 'FormData' might not be required and can just send the Blob directly
const req = new XMLHttpRequest();
req.open("POST", '/DocumentRedaction/SaveFileOnServer', true);
req.onload = function (oEvent) {
// Uploaded.
};
req.send(data);
return Promise.resolve();
},
});
};
}),
t.setToolbarGroup('toolbarGroup-Edit'),
t.setToolMode('AnnotationCreateRedaction');
}
);
当我向控制器发送请求时,我没有收到文件,它即将变为空
[HttpPost]
public IActionResult SaveFileOnServer(IFormFile file)
{
return Json(new { Result="ok"});
}
谁能告诉我哪里出错了
提前致谢
对于JavaScript异步函数,您需要等待它完成再做其他事情。例如,AnnotationManager#applyRedactions()
returns 一个 Promise,AnnotationManager#exportAnnotations()
和 Document#getFileData()
也是如此。
关于JS异步函数,可以看看:
https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Promises
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await
所以在这里你可能想使用await
等待Promise完成。
我目前正在使用 PDFTron webviewer 在 MVC Core 中开发应用程序。有没有办法把用pdftron webviewer编辑好的pdf保存到服务器?
pdftron 有一个将注释保存到服务器的功能,但我需要将整个 pdf 连同编辑保存到服务器。
WebViewer({
path: '/lib/WebViewer',
initialDoc: '/StaticResource/Music.pdf', fullAPI: !0, enableRedaction: !0
}, document.getElementById('viewer')).then(
function(t) {
samplesSetup(t);
var n = t.docViewer;
n.on('documentLoaded', function() {
document.getElementById('apply-redactions').onclick = function() {
t.showWarningMessage({
title: 'Apply redaction?',
message: 'This action will permanently remove all items selected for redaction. It cannot be undone.',
onConfirm: function () {
alert( );
t.docViewer.getAnnotationManager().applyRedactions()
debugger
var options = {
xfdfString: n.getAnnotationManager().exportAnnotations()
};
var doc = n.getDocument();
const data = doc.getFileData(options);
const arr = new Uint8Array(data);
const blob = new Blob([arr], { type: 'application/pdf' });
const data = new FormData();
data.append('mydoc.pdf', blob, 'mydoc.pdf');
// depending on the server, 'FormData' might not be required and can just send the Blob directly
const req = new XMLHttpRequest();
req.open("POST", '/DocumentRedaction/SaveFileOnServer', true);
req.onload = function (oEvent) {
// Uploaded.
};
req.send(data);
return Promise.resolve();
},
});
};
}),
t.setToolbarGroup('toolbarGroup-Edit'),
t.setToolMode('AnnotationCreateRedaction');
}
);
当我向控制器发送请求时,我没有收到文件,它即将变为空
[HttpPost]
public IActionResult SaveFileOnServer(IFormFile file)
{
return Json(new { Result="ok"});
}
谁能告诉我哪里出错了 提前致谢
对于JavaScript异步函数,您需要等待它完成再做其他事情。例如,AnnotationManager#applyRedactions()
returns 一个 Promise,AnnotationManager#exportAnnotations()
和 Document#getFileData()
也是如此。
关于JS异步函数,可以看看:
https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Promises https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await
所以在这里你可能想使用await
等待Promise完成。