Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

116
Views
La salida de react-pdf/renderer no es compatible con pdf-lib

Estoy tratando de renderizar un PDF en la memoria usando el método pdf @react-pdf/renderer y luego introduzco los bytes resultantes en el objeto PDFDocument pdf-lib . La razón por la que hago esto es porque react-pdf no permite incrustar (fusionar) otros PDF y la biblioteca de fusión que estamos usando ( pdf-merger-js ) no admite devolver los números de página del PDF fusionado , lo que significa que no podemos representar correctamente nuestra tabla de contenido.

Lo que sucede es que después de tomar el resultado de @react-pdf/renderer.pdf(...) , codificarlo como base64 y pasarlo a pdf-lib.PDFDocument.load(...) , la vista previa del resultado PDF en el navegador es una cadena de bytes como la siguiente. No hemos tenido problemas para crear esta vista previa en PDF antes de nuestra introducción de pdf-lib :

cadena de bytes-pdf

El código que hace esto es el siguiente ( toc == Table of Contents, ambos argumentos son colecciones de elementos react-pdf ):

 const mergePdfsToObjectUrl = async (toc: ReactElement, pdfPages: any[]) => { if (toc && pdfPages?.length > 0) { const pdfString = await pdf(toc); const string = await pdfString.toString(); const base64string = encode(string); const tocPdf = await PDFDocument.load(base64string); // Create a new document const doc = await PDFDocument.create(); // Add individual content pages const tocPdfPages = await doc.copyPages(tocPdf, tocPdf.getPageIndices()); for (const page of tocPdfPages) { doc.addPage(page); } // Write the PDF to a file const pdfBytes = await doc.save(); const url = URL.createObjectURL(new Blob([pdfBytes])); return url; }

Probé todo, desde diferentes códecs hasta diferentes canalizaciones para transformar los datos react-pdf en una cadena de bytes utilizable, pero nada parece funcionar.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!