使用react pdf提取pdf文件的数据



正如标题所示,我想使用react pdf库提取pdf页面的数据本身(内容(,然后自己解析数据。
我找不到关于这件事的任何消息来源,所以我很可能对它的工作原理感到困惑。

https://www.npmjs.com/package/react-pdf

我没有要分享的片段,因为这是一个概念性的问题。

一种方法是通过将Page prop renderTextLayer设置为true来渲染文本层:

renderTextLayer={true}

并用道具获取文本:

onGetTextSuccess={
(text) => console.log(text)
}

由于我不想显示文本层,但想获得文本,我不得不用css隐藏该层。

示例代码:

import React, {useState} from 'react';
import { Document, Page, Outline } from 'react-pdf/dist/esm/entry.vite';
import samplePFDF from '/../example.pdf';
export default function PdfViewer() {
const [numPages, setNumPages] = useState(null);
const [pageNumber, setPageNumber] = useState(1);
function onDocumentLoadSuccess({ numPages }) {
setNumPages(numPages);
}
function formatText(texts) {
let textFinal = ''
for (let i = 0; i < texts.items.length; i++) {
textFinal += texts.items[i].str
}
console.log(textFinal)
}
return (
<div>
<Document file={samplePFDF} onLoadSuccess={onDocumentLoadSuccess}>
<Page pageNumber={pageNumber} renderAnnotationLayer={false} 
renderTextLayer={true} onGetTextSuccess={
(text) => formatText(text)
} onGetTextError={(e)=> console.log(e)}/>
<Outline/>
</Document>
<p>
Page {pageNumber} of {numPages}
</p>
</div>
);
}

最新更新