You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What kind of change does this PR introduce? Related to #655
This PR adds two features:
doc.file(src, options) - add embedded file to PDF
doc.fileAttachmentAnnotation(x, y, w, h, file, options) - attaching a file and linking to it from within the PDF
Checklist:
Unit Tests
Documentation
Update CHANGELOG.md
Ready to be merged
Additional comments
Disabling the /Limits output for the Names.EmbeddedFiles tree is technically against PDF specification, but embedded files would just not show up in Adobe Acrobat Reader DC if that key was present.
Functionality tested with the following PDF Viewers
FoxitReader - 100% working
Adobe Acrobat Reader DC - 100% working
macOS Preview - does not support attachments, PDF is rendered fine
Safari Browser PDF Viewer - does not support attachments, PDF is rendered fine
Chromium Browser PDF Viewer - does not support attachments, PDF is rendered fine
Firefox Browser PDF Viewer - working, but no file attachment annotation icon
smatheis
changed the title
add support for embedded files and file attachment annotations
Add support for embedded files and file attachment annotations
Mar 25, 2021
Disabling the /Limits output for the Names.EmbeddedFiles tree is technically against PDF specification, but embedded files would just not show up in Adobe Acrobat Reader DC if that key was present.
This is a concern. I will not postpone merging but i'd like to keep this in sight so we, maybe, can improve the implementation later.
Can you check the output with verapdf?
Do you have a pdf with attachment created with other program like Adobe Acrobat?
This PR using node.js crypto API which is theoretically correct. But is problematic with bunde size for browser build, because crypto-browserify library is used.
Sizes pdfkit.standalone.js file:
2 520 kB - version 0.11.0 3 015 kB - master
Browser bundle size is increased 495 kB.
This is huge size. pdfkit using crypto-js for encryption and access privileges (PR #820) now.
Both libraries crypto (respectively crypto-browserify) and crypto-js they are big. Only one must be used. Encryption or attachments must be rewritten.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What kind of change does this PR introduce?
Related to #655
This PR adds two features:
doc.file(src, options)- add embedded file to PDFdoc.fileAttachmentAnnotation(x, y, w, h, file, options)- attaching a file and linking to it from within the PDFChecklist:
Additional comments
/Limitsoutput for the Names.EmbeddedFiles tree is technically against PDF specification, but embedded files would just not show up in Adobe Acrobat Reader DC if that key was present.