feat: implement annotation flattening functionality and add tests

This commit is contained in:
alam00000
2026-03-17 22:46:13 +05:30
parent 6c0e9c7232
commit 8bf52b9ef1
5 changed files with 765 additions and 174 deletions

View File

@@ -4,6 +4,7 @@ import { pdfSocket } from '../sockets';
import type { SocketData } from '../types';
import { requirePdfInput, processBatch } from '../types';
import { PDFDocument } from 'pdf-lib';
import { flattenAnnotations } from '../../utils/flatten-annotations.js';
export class FlattenNode extends BaseWorkflowNode {
readonly category = 'Secure PDF' as const;
@@ -32,6 +33,12 @@ export class FlattenNode extends BaseWorkflowNode {
console.error('Flatten form error (may have no forms):', err);
}
try {
flattenAnnotations(pdfDoc);
} catch (err) {
console.error('Flatten annotations error:', err);
}
const pdfBytes = await pdfDoc.save();
return {
type: 'pdf',