parseXrefTable.js 527 B

123456789101112131415161718192021222324
  1. const fs = require('fs')
  2. const { FSPdfManager } = require('./FSPdfManager')
  3. async function parseXrefTable(path, size) {
  4. if (size === 0) {
  5. return []
  6. }
  7. const file = await fs.promises.open(path)
  8. try {
  9. const manager = new FSPdfManager(0, { fh: file, size })
  10. await manager.ensureDoc('checkHeader')
  11. await manager.ensureDoc('parseStartXRef')
  12. await manager.ensureDoc('parse')
  13. return manager.pdfDocument.catalog.xref.entries
  14. } finally {
  15. file.close()
  16. }
  17. }
  18. module.exports = {
  19. parseXrefTable
  20. }