Estoy tratando de obtener el contenido de texto de la primera página de un archivo PDF usando el módulo de nodo NPM 'PDF-lib'.
Sin embargo, cuando busco el contenido e imprimo los resultados, obtengo una matriz de datos que se parece a la siguiente;
¿Podría ayudarme a detectar el problema?
¡Gracias por adelantado!
Los resultados que obtengo después de imprimir se ven así. Lo que quiero obtener son los contenidos de texto reales de la página PDF.
PDFPage {
fontSize: 24,
fontColor: { type: 'RGB', red: 0, green: 0, blue: 0 },
lineHeight: 24,
x: 0,
y: 0,
node: PDFPageLeaf {
dict: Map(8) {
[PDFName] => [PDFName],
[PDFName] => [PDFRef],
[PDFName] => [PDFDict],
[PDFName] => [PDFArray],
[PDFName] => [PDFRef],
[PDFName] => [PDFDict],
[PDFName] => [PDFName],
[PDFName] => [PDFNumber]
},
...
...
...
El código:
const { resolve } = require('path'); const { PDFDocument } = require('pdf-lib'); // Library for reading PDF file const fs = require('fs'); async function readDataset() { try { // Get PDF Page const content = await PDFDocument.load(fs.readFileSync(resolve(`./app/assets/pdfs/np.pdf`))); // Get page contents const contentPages = content.getPages(); let pageContent = contentPages[0]; // Return data found on first page return pageContent; } catch (err) { return err; } } // Read data from dataset let dataset = await readDataset();En general, no es posible en la actualidad (2021) con esta biblioteca. Consulte las limitaciones actuales. Esta información también se encuentra en la página de npm en https://www.npmjs.com/package/pdf-lib#limitations .
#1
pdf-lib puede extraer el contenido de los campos de texto (consulte PDFTextField.getText), pero no puede extraer texto sin formato en una página fuera de un campo de formulario. Esta es una característica difícil de implementar, pero está dentro del alcance de esta biblioteca y puede agregarse a pdf-lib en el futuro. Ver #93, #137, #177, #329 y #380.
Para futuros visitantes, siempre consulte el enlace de arriba para conocer el estado actual.