pdfjs 无法使用函数 'getPageIterator'
pdfjs cannot use function 'getPageIterator'
我正在尝试按照此处 https://www.pdftron.com/documentation/core/guides/features/manipulation/remove/ 找到的 pdfjs 文档尝试从我上传到 html 页面的 PDF 中删除页面。这是我的 html 代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.2.228/pdf.js"></script>
<input type="file" id="input"/>
<script>
document.getElementById('input').addEventListener('change', function(e){
var reader = new FileReader()
reader.onload = function(x){
window['pdfjs-dist/build/pdf'].getDocument({data:x.target.result}).promise.then(function(doc){
doc.pageRemove(doc.getPageIterator(5));
console.log(doc.numPages)
})}
reader.readAsBinaryString(e.target.files[0])
}, false)
</script>
当我将 PDF 文件上传到页面时出现此控制台错误:
removeDemo.html:10 Uncaught (in promise) TypeError: doc.getPageIterator is not a function
我正在上传的 PDF 文件超过 5 页,因此特别是要求删除第 5 页应该不是问题。然而,其他功能似乎确实有效,例如,我在上面的代码中有一行打印文档的页数。当我注释掉 'getPageIterator' 行时,这很好用。所以它似乎是这个特定功能的问题,而不是更普遍的问题。我想知道是什么导致了这个问题。如果这是相关的,我 运行 在 macbook pro 上使用铬。
如果上面的问题中有什么我可以进一步澄清的,请告诉我。
Mozilla led pdf.js主要是一个浏览器插件pdf查看器,没有编辑器功能。
您调用的函数 doc.pageRemove(doc
用于 PDFTron webview/edit SDK,因此特定于该商业 JavaScript 库。
您链接到的文档来自 PDFTron,与 PDF.js 无关,它是一个完全独立的 SDK。这就是为什么在不同的 SDK 上调用 SDK API 时出错。
由于 PDF.js 不支持从 PDF 中删除页面(一般也不支持编辑),因此我假设您的意图是使用 PDFTron SDK 删除(或以其他方式编辑)浏览器客户端。
在这种情况下,您需要执行以下操作。
查看此示例:
https://www.pdftron.com/documentation/web/samples/pdf-manipulation/#page-operations
请参阅此处开始使用 SDK:
https://www.pdftron.com/documentation/web/get-started/
我正在尝试按照此处 https://www.pdftron.com/documentation/core/guides/features/manipulation/remove/ 找到的 pdfjs 文档尝试从我上传到 html 页面的 PDF 中删除页面。这是我的 html 代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.2.228/pdf.js"></script>
<input type="file" id="input"/>
<script>
document.getElementById('input').addEventListener('change', function(e){
var reader = new FileReader()
reader.onload = function(x){
window['pdfjs-dist/build/pdf'].getDocument({data:x.target.result}).promise.then(function(doc){
doc.pageRemove(doc.getPageIterator(5));
console.log(doc.numPages)
})}
reader.readAsBinaryString(e.target.files[0])
}, false)
</script>
当我将 PDF 文件上传到页面时出现此控制台错误:
removeDemo.html:10 Uncaught (in promise) TypeError: doc.getPageIterator is not a function
我正在上传的 PDF 文件超过 5 页,因此特别是要求删除第 5 页应该不是问题。然而,其他功能似乎确实有效,例如,我在上面的代码中有一行打印文档的页数。当我注释掉 'getPageIterator' 行时,这很好用。所以它似乎是这个特定功能的问题,而不是更普遍的问题。我想知道是什么导致了这个问题。如果这是相关的,我 运行 在 macbook pro 上使用铬。
如果上面的问题中有什么我可以进一步澄清的,请告诉我。
Mozilla led pdf.js主要是一个浏览器插件pdf查看器,没有编辑器功能。
您调用的函数 doc.pageRemove(doc
用于 PDFTron webview/edit SDK,因此特定于该商业 JavaScript 库。
您链接到的文档来自 PDFTron,与 PDF.js 无关,它是一个完全独立的 SDK。这就是为什么在不同的 SDK 上调用 SDK API 时出错。
由于 PDF.js 不支持从 PDF 中删除页面(一般也不支持编辑),因此我假设您的意图是使用 PDFTron SDK 删除(或以其他方式编辑)浏览器客户端。
在这种情况下,您需要执行以下操作。
查看此示例: https://www.pdftron.com/documentation/web/samples/pdf-manipulation/#page-operations
请参阅此处开始使用 SDK: https://www.pdftron.com/documentation/web/get-started/