documenso/packages/lib/server-only/pdf/normalize-pdf.ts

19 lines
477 B
TypeScript
Raw Normal View History

2024-12-17 21:14:14 +00:00
import { PDFDocument } from 'pdf-lib';
import { flattenAnnotations } from './flatten-annotations';
import { flattenForm, removeOptionalContentGroups } from './flatten-form';
export const normalizePdf = async (pdf: Buffer) => {
const pdfDoc = await PDFDocument.load(pdf).catch(() => null);
if (!pdfDoc) {
return pdf;
}
removeOptionalContentGroups(pdfDoc);
await flattenForm(pdfDoc);
2024-12-17 21:14:14 +00:00
flattenAnnotations(pdfDoc);
return Buffer.from(await pdfDoc.save());
};