mirror of
https://github.com/documenso/documenso.git
synced 2025-11-13 00:03:33 +10:00
This PR is handles the changes required to support envelopes. The new envelope editor/signing page will be hidden during release. The core changes here is to migrate the documents and templates model to a centralized envelopes model. Even though Documents and Templates are removed, from the user perspective they will still exist as we remap envelopes to documents and templates.
19 lines
485 B
TypeScript
19 lines
485 B
TypeScript
import { PDFDocument } from '@cantoo/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);
|
|
flattenAnnotations(pdfDoc);
|
|
|
|
return Buffer.from(await pdfDoc.save());
|
|
};
|