PDF.js에서 Annotations을 바이너리 형태로 파일로 저장하는 방법은 다음과 같습니다.
const pdfDocument = ... // PDF.js에서 로드한 PDF 문서 객체
const page = ... // 어노테이션을 가져올 페이지 객체
const annotations = await page.getAnnotations()
const serializedAnnotations = new Uint8Array(JSON.stringify(annotations).split('').map(char => char.charCodeAt(0)))
const fs = require('fs')
fs.writeFileSync('annotations.bin', serializedAnnotations)
위 코드에서 JSON.stringify(annotations)는 어노테이션을 JSON 문자열로 변환하고, split('').map(char => char.charCodeAt(0))는 문자열을 각각의 문자로 쪼갠 후 각 문자의 유니코드 값을 배열로 만듭니다. 그리고 Uint8Array 생성자를 이용하여 이 배열을 Uint8Array 형태로 변환합니다.
fs.writeFileSync는 파일 시스템에 파일을 쓰는 Node.js의 내장 함수입니다. 이 함수를 이용하여 직렬화된 어노테이션을 파일로 저장할 수 있습니다.