gpt4 book ai didi

javascript - 使用 JavaScript 从 PDF 文件中提取图像

转载 作者:搜寻专家 更新时间:2023-11-01 05:01:15 25 4
gpt4 key购买 nike

我想编写 JavaScript 代码以从 PDF 文件中提取所有图像文件,也许将它们提取为 JPG 或其他图像格式。已经有一些用于读取 PDF 文件的 JavaScript 代码,例如在 PDF 查看器中 pdf-js .

window.addEventListener('change', function webViewerChange(evt) {
var files = evt.target.files;
if (!files || files.length === 0)
return;

// Read the local file into a Uint8Array.
var fileReader = new FileReader();
fileReader.onload = function webViewerChangeFileReaderOnload(evt) {
var buffer = evt.target.result;
var uint8Array = new Uint8Array(buffer);
PDFView.open(uint8Array, 0);
};

var file = files[0];
fileReader.readAsArrayBuffer(file);
PDFView.setTitleUsingUrl(file.name);
........

此代码可用于从 PDF 文件中提取图像吗?

最佳答案

如果你用 pdf.js 打开一个页面, 例如

PDFJS.getDocument({url: <pdf file>}).then(function (doc) {
doc.getPage(1).then(function (page) {
window.page = page;
})
})

然后你可以使用getOperatorList搜索 paintJpegXObject对象并获取资源。

window.objs = []
page.getOperatorList().then(function (ops) {
for (var i=0; i < ops.fnArray.length; i++) {
if (ops.fnArray[i] == PDFJS.OPS.paintJpegXObject) {
window.objs.push(ops.argsArray[i][0])
}
}
})

现在args将有一个您需要从该页面获取的资源列表。

console.log(window.args.map(function (a) { page.objs.get(a) }))

应该向控制台打印一堆 <img />带有数据 uri 的对象 src=属性。这些可以直接插入到页面中,或者您可以编写更多脚本来获取原始数据。

它只适用于嵌入的 JPEG 对象,但这是一个开始!

关于javascript - 使用 JavaScript 从 PDF 文件中提取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18680261/

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