-
Notifications
You must be signed in to change notification settings - Fork 92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implemented interlacing support for Node.js (in JavaScript, not CoffeeScript). #8
Comments
Update png.js based on foliojs/png.js#8 with Node dependencies removed.
@devongovett any way we can get this support for interlaced PNGs merged in? I need to support interlaced PNGs when using |
Hi, I wrote my own PNG parser, which supports interlacing: https://github.com/photopea/UPNG.js . |
* Update karma.conf.js * Merge (#7) * Update addimage.js Solution to solve memory leaks caused by big images. Is solving the issues #844 and #425 * normalize Color Methods * f2 => f3 * make it black * make it gray again typeof comparison was wrong... * make typeof comparison wrong to pass test * Update jspdf.js d'oh * Update jspdf.js correct it again.... * operation fix ch1 === ch2 === ch3 is wrong. it would process from left to right resulting in a ch1 === ch2 => true, true === ch3 => false * update test pdf fix it so that the test is passed * Update rectangles.pdf stupid letter * Update rectangles.pdf fix length of content * Update rectangles.pdf ... why? * Update jspdf.js DRY it up add cssColor to rgb conversion * Update jspdf.js bugfix * Update standard.spec.js add test for colornames * Update standard.spec.js * Update standard.spec.js * Update jspdf.js convert short rgb to long form * Update standard.spec.js add test case for short rgb-values * Update jspdf.js add a setter for the CreationDate * Update jspdf.js some major changes to the setCreationDate Algorythm * Update jspdf.js bugfix * Update jspdf.js darn... * Update jspdf.js * Update jspdf.js * Update jspdf.js bugfix * Update addimage.js round is not the proper method. It has to be ceil so that the splice-method is called atleast once. * add polyfill for Object.assign * Add files via upload * Add files via upload fix small mistake * fix tainted standardfontsmetrics * Add files via upload one fix * Update acroform.js * update references * modify tests * force testing * Update acroform.js * Add files via upload * Update acroform.js * update references * Add files via upload * Update acroform.js * Update acroform.js * Add files via upload * Update acroform.js * Add files via upload * Add files via upload * Update acroform.js * Add files via upload * addimage.js add cmyk recognition for jpg * make it less code * Update saucelabs.karma.conf.js * Create standard.spec.js * Create jpg.pdf * Rename tests/addimage/jpg.pdf to tests/addimage/reference/jpg.pdf * Add files via upload * test first if jpeg is working * Add files via upload * Update jpeg.spec.js * Add files via upload * Add files via upload * Add files via upload * Update saucelabs.karma.conf.js * Update jpg.b64 * Update addhtml.js #1480 * add ability to recognize filetype by header * remove unnecessary variable * typo-fix * Update addimage.js * Update addimage.js #966 * Update compare.js * Update jpeg.spec.js * Update compare.js * Update compare.js * Update jpeg.spec.js * Update saucelabs.karma.conf.js * Update compare.js * Update compare.js * Update compare.js * Update jpeg.spec.js * Update compare.js * Update jpeg.spec.js * Update compare.js * Update compare.js * Update jpeg.spec.js * Add files via upload * Update compare.js * Update jpeg.spec.js * Update compare.js * Update jpeg.spec.js * Update compare.js * Update compare.js * Update compare.js D'Oh * Update compare.js * Update jpeg.spec.js * Update compare.js * Update compare.js * Update compare.js * Update jpeg.spec.js why is here a done? fml * Add files via upload * Add files via upload * Add files via upload * Delete jpg.b64 * Update jpeg.spec.js * Update compare.js * Update saucelabs.karma.conf.js * Update png.spec.js * Update saucelabs.karma.conf.js * Update addimage.js * Create filetypeRecognition.spec.js * Update saucelabs.karma.conf.js * Update filetypeRecognition.spec.js * Update addimage.js * fix IE error * Update standard.spec.js HideWindowUI.pdf is misssing * compare.js make it look good * add tests * Update saucelabs.karma.conf.js * Fix for #905 #1163 #1317 adler32cs is no longer maintained, made package.json point to my fork of adler32cs that contains the loader.js fix * small modification * Update outline.js * Add files via upload * Update standard.spec.js * Update karma.conf.js to load outline.js * Update saucelabs.karma.conf.js to load outline.js * chore(package): update rollup-plugin-babel to version 3.0.3 * chore(package): update karma to version 2.0.0 * Add new method for internal, getTextColor * Update dist files and docs to include getTextColor * Revise getTextColor to return hex code; add new spec * Compiled assets for getTextColor modifications * Updates spec and documentation per feedback * chore(package): update uglify-js to version 3.3.5 Closes #1506 * simplify * addCreationDate * Update standard.spec.js * Update standard.spec.js * Update jspdf.js * Update standard.spec.js * Update standard.spec.js * Add png adam7 interlace (#6) * Update png.js Adapted from here foliojs/png.js#8 * make it look good * fix possible merging error * fix minor bug * hopefull removed all dupes * Update main.js * Don't skip HideWindowUI * Update addimage.js * Update compare.js * Add files via upload * Update jspdf.js * Update jspdf.js * Update addhtml.js * Update outline.js * Update cell.js * Update annotations.js * Update from_html.js * Update context2d.js * Update acroform.js * Update addimage.js * Update karma.conf.js * Create getImageProperties.spec.js * typo
* Update karma.conf.js * Merge (#7) * Update addimage.js Solution to solve memory leaks caused by big images. Is solving the issues #844 and #425 * normalize Color Methods * f2 => f3 * make it black * make it gray again typeof comparison was wrong... * make typeof comparison wrong to pass test * Update jspdf.js d'oh * Update jspdf.js correct it again.... * operation fix ch1 === ch2 === ch3 is wrong. it would process from left to right resulting in a ch1 === ch2 => true, true === ch3 => false * update test pdf fix it so that the test is passed * Update rectangles.pdf stupid letter * Update rectangles.pdf fix length of content * Update rectangles.pdf ... why? * Update jspdf.js DRY it up add cssColor to rgb conversion * Update jspdf.js bugfix * Update standard.spec.js add test for colornames * Update standard.spec.js * Update standard.spec.js * Update jspdf.js convert short rgb to long form * Update standard.spec.js add test case for short rgb-values * Update jspdf.js add a setter for the CreationDate * Update jspdf.js some major changes to the setCreationDate Algorythm * Update jspdf.js bugfix * Update jspdf.js darn... * Update jspdf.js * Update jspdf.js * Update jspdf.js bugfix * Update addimage.js round is not the proper method. It has to be ceil so that the splice-method is called atleast once. * add polyfill for Object.assign * Add files via upload * Add files via upload fix small mistake * fix tainted standardfontsmetrics * Add files via upload one fix * Update acroform.js * update references * modify tests * force testing * Update acroform.js * Add files via upload * Update acroform.js * update references * Add files via upload * Update acroform.js * Update acroform.js * Add files via upload * Update acroform.js * Add files via upload * Add files via upload * Update acroform.js * Add files via upload * addimage.js add cmyk recognition for jpg * make it less code * Update saucelabs.karma.conf.js * Create standard.spec.js * Create jpg.pdf * Rename tests/addimage/jpg.pdf to tests/addimage/reference/jpg.pdf * Add files via upload * test first if jpeg is working * Add files via upload * Update jpeg.spec.js * Add files via upload * Add files via upload * Add files via upload * Update saucelabs.karma.conf.js * Update jpg.b64 * Update addhtml.js #1480 * add ability to recognize filetype by header * remove unnecessary variable * typo-fix * Update addimage.js * Update addimage.js #966 * Update compare.js * Update jpeg.spec.js * Update compare.js * Update compare.js * Update jpeg.spec.js * Update saucelabs.karma.conf.js * Update compare.js * Update compare.js * Update compare.js * Update jpeg.spec.js * Update compare.js * Update jpeg.spec.js * Update compare.js * Update compare.js * Update jpeg.spec.js * Add files via upload * Update compare.js * Update jpeg.spec.js * Update compare.js * Update jpeg.spec.js * Update compare.js * Update compare.js * Update compare.js D'Oh * Update compare.js * Update jpeg.spec.js * Update compare.js * Update compare.js * Update compare.js * Update jpeg.spec.js why is here a done? fml * Add files via upload * Add files via upload * Add files via upload * Delete jpg.b64 * Update jpeg.spec.js * Update compare.js * Update saucelabs.karma.conf.js * Update png.spec.js * Update saucelabs.karma.conf.js * Update addimage.js * Create filetypeRecognition.spec.js * Update saucelabs.karma.conf.js * Update filetypeRecognition.spec.js * Update addimage.js * fix IE error * Update standard.spec.js HideWindowUI.pdf is misssing * compare.js make it look good * add tests * Update saucelabs.karma.conf.js * Fix for #905 #1163 #1317 adler32cs is no longer maintained, made package.json point to my fork of adler32cs that contains the loader.js fix * small modification * Update outline.js * Add files via upload * Update standard.spec.js * Update karma.conf.js to load outline.js * Update saucelabs.karma.conf.js to load outline.js * chore(package): update rollup-plugin-babel to version 3.0.3 * chore(package): update karma to version 2.0.0 * Add new method for internal, getTextColor * Update dist files and docs to include getTextColor * Revise getTextColor to return hex code; add new spec * Compiled assets for getTextColor modifications * Updates spec and documentation per feedback * chore(package): update uglify-js to version 3.3.5 Closes #1506 * simplify * addCreationDate * Update standard.spec.js * Update standard.spec.js * Update jspdf.js * Update standard.spec.js * Update standard.spec.js * Add png adam7 interlace (#6) * Update png.js Adapted from here foliojs/png.js#8 * make it look good * fix possible merging error * fix minor bug * hopefull removed all dupes * Update main.js * Don't skip HideWindowUI * Update addimage.js * Update compare.js * Add files via upload * Update jspdf.js * Update jspdf.js * Update addhtml.js * Update outline.js * Update cell.js * Update annotations.js * Update from_html.js * Update context2d.js * Update acroform.js * Update addimage.js * Update karma.conf.js * Create getImageProperties.spec.js * typo
Is it possible to merge this in? |
@kartikluke Why don't you just use UPNG.js instead? It is very small and our custom ZLIB decoder is even faster than pako.js (ZLIB library itself). |
@photopea What is the equivalent in UPNG of:
|
If you have a file in an ArrayBuffer, just call UPNG.decode(arrayBuffer). |
You can learn how to use UPNG.js at its github page. I would probably not do anything else, if I had to explain how to use UPNG.js to each one of thousands of UPNG users :D I wonder that people still use libraries, which have not been maintained by the author for seven years, even though there seem to be things that need maintenance (interlacing support). |
The implementation in original post works only for some file types. See https://github.com/blikblum/pdfkit-interlaced-png example. When replacing the png.js by a patched version only images/interlaced-rgb-alpha-8bit.png is correctly rendered Any hints on how to fix it is appreciated |
Guys, just switch to UPNG.js, it has more GitHub stars, if that is what you are looking for :D |
In fact the implementation is correct. Just need some code in pdfkit side |
I wanted to make sure this works, so I didn't try to fiddle with png-node.coffee, I modified the .js output.
The text was updated successfully, but these errors were encountered: