feat(email-to-pdf): add inline images, clickable links, and embedded attachments
- Add CID inline image support via base64 data URI replacement - Implement clickable link extraction from HTML anchors using regex - Embed email attachments into PDF using pymupdf embfile_add - Reduce font sizes for more compact PDF output (18px subject, 12px body) - Format date with timezone (UTC+HH:MM) while preserving original time - Clean email address formatting (Name (email) instead of <brackets>) - Add UI options: page size selector, CC/BCC toggle, attachments toggle
This commit is contained in:
@@ -7,7 +7,8 @@ export const categories = [
|
||||
href: import.meta.env.BASE_URL + 'pdf-multi-tool.html',
|
||||
name: 'PDF Multi Tool',
|
||||
icon: 'ph-pencil-ruler',
|
||||
subtitle: 'Merge, Split, Organize, Delete, Rotate, Add Blank Pages, Extract and Duplicate in an unified interface.',
|
||||
subtitle:
|
||||
'Merge, Split, Organize, Delete, Rotate, Add Blank Pages, Extract and Duplicate in an unified interface.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'merge-pdf.html',
|
||||
@@ -158,7 +159,8 @@ export const categories = [
|
||||
href: import.meta.env.BASE_URL + 'form-filler.html',
|
||||
name: 'PDF Form Filler',
|
||||
icon: 'ph-pencil-line',
|
||||
subtitle: 'Fill in forms directly in the browser. Also supports XFA forms.',
|
||||
subtitle:
|
||||
'Fill in forms directly in the browser. Also supports XFA forms.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'form-creator.html',
|
||||
@@ -181,7 +183,8 @@ export const categories = [
|
||||
href: import.meta.env.BASE_URL + 'image-to-pdf.html',
|
||||
name: 'Images to PDF',
|
||||
icon: 'ph-images',
|
||||
subtitle: 'Convert JPG, PNG, BMP, GIF, TIFF, PNM, PGM, PBM, PPM, PAM, JXR, JPX, JP2, PSD, SVG, HEIC, WebP to PDF.',
|
||||
subtitle:
|
||||
'Convert JPG, PNG, BMP, GIF, TIFF, PNM, PGM, PBM, PPM, PAM, JXR, JPX, JP2, PSD, SVG, HEIC, WebP to PDF.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'jpg-to-pdf.html',
|
||||
@@ -235,7 +238,8 @@ export const categories = [
|
||||
href: import.meta.env.BASE_URL + 'markdown-to-pdf.html',
|
||||
name: 'Markdown to PDF',
|
||||
icon: 'ph-markdown-logo',
|
||||
subtitle: 'Convert Markdown to PDF with live preview and syntax highlighting.',
|
||||
subtitle:
|
||||
'Convert Markdown to PDF with live preview and syntax highlighting.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'json-to-pdf.html',
|
||||
@@ -367,7 +371,14 @@ export const categories = [
|
||||
href: import.meta.env.BASE_URL + 'psd-to-pdf.html',
|
||||
name: 'PSD to PDF',
|
||||
icon: 'ph-image',
|
||||
subtitle: 'Convert Adobe Photoshop (PSD) files to PDF. Multiple files supported.',
|
||||
subtitle:
|
||||
'Convert Adobe Photoshop (PSD) files to PDF. Multiple files supported.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'email-to-pdf.html',
|
||||
name: 'Email to PDF',
|
||||
icon: 'ph-envelope',
|
||||
subtitle: 'Convert email files (EML, MSG) to PDF format.',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -456,7 +467,8 @@ export const categories = [
|
||||
href: import.meta.env.BASE_URL + 'prepare-pdf-for-ai.html',
|
||||
name: 'Prepare PDF for AI',
|
||||
icon: 'ph-sparkle',
|
||||
subtitle: 'Extract PDF content as LlamaIndex JSON for RAG/LLM pipelines.',
|
||||
subtitle:
|
||||
'Extract PDF content as LlamaIndex JSON for RAG/LLM pipelines.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'pdf-to-text.html',
|
||||
@@ -485,7 +497,8 @@ export const categories = [
|
||||
href: import.meta.env.BASE_URL + 'alternate-merge.html',
|
||||
name: 'Alternate & Mix Pages',
|
||||
icon: 'ph-shuffle',
|
||||
subtitle: 'Merge PDFs by alternating pages from each PDF. Preserves Bookmarks',
|
||||
subtitle:
|
||||
'Merge PDFs by alternating pages from each PDF. Preserves Bookmarks',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'organize-pdf.html',
|
||||
@@ -677,7 +690,8 @@ export const categories = [
|
||||
href: import.meta.env.BASE_URL + 'rasterize-pdf.html',
|
||||
name: 'Rasterize PDF',
|
||||
icon: 'ph-image',
|
||||
subtitle: 'Convert PDF to image-based PDF. Flatten layers and remove selectable text.',
|
||||
subtitle:
|
||||
'Convert PDF to image-based PDF. Flatten layers and remove selectable text.',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -724,7 +738,8 @@ export const categories = [
|
||||
href: import.meta.env.BASE_URL + 'digital-sign-pdf.html',
|
||||
name: 'Digital Signature',
|
||||
icon: 'ph-certificate',
|
||||
subtitle: 'Add a cryptographic digital signature using X.509 certificates.',
|
||||
subtitle:
|
||||
'Add a cryptographic digital signature using X.509 certificates.',
|
||||
},
|
||||
{
|
||||
href: import.meta.env.BASE_URL + 'validate-signature-pdf.html',
|
||||
|
||||
Reference in New Issue
Block a user