Comments (8)
True - the reason is that the new code only runs when there is no "pathSegList" JS property, which still exists for Firefox and Safari, but is gone with Chrome. We should probably just move the
SvgPath && (d = SvgPath(d).unshort().unarc().abs().toString());
part higher up in front of the return statement in getPathSegList() since the calling code expects all of the svg path oddities to have already been removed when the call returns.
from svg2pdf.js.
Thanks! I would like to try this and send a PR. In the mean time, can you tell me, or document in readme.md how the workflow is at the moment? The test files refer to svg2pdf.min.js
, which is concatenated from source files and minified using Uglify and apparently there is a plugin to preserve the license headers. What commands do I run to build it?
from svg2pdf.js.
Actually building should be simple: there are scripts defined in package.json so you can do
npm run build
and it should build the minified sources along with source maps so that you can conveniently run and debug the tests.
from svg2pdf.js.
Ah, thanks!
from svg2pdf.js.
Moving the path definition line up in front of the return statement didn't cut it. However, completely removing the return statement works for both Firefox and Safari. Is that a viable solution, or are you aware of any horrible side effects?
from svg2pdf.js.
You need of course set the "d" attribute anew after cleaning up the string. Just moving the line alone will not work. This however modifies the SVG and as such is not a nice solution, anyway.
I guess simply always using the Chrome code (removing the if
) should work well. Otherwise we would have the same "horrible side-effects" in Chrome. I am not aware of any such side-effects, other than possibly a loss in performance.
from svg2pdf.js.
Probably the cleanest solution would be to mimic the arc segment in the segment list, and to the transform to a curve here instead. But your proposed fix works, hence the PR. Would appreciate a pull and a version bump.
from svg2pdf.js.
Sorry, but as I said before, I don't like the way we are now modifying the document. I would rather just get rid of the FF/Safari branch and always go with the Chrome branch.
from svg2pdf.js.
Related Issues (20)
- Force stroke='none' if 'stroke-width' === 0 HOT 3
- Support for XML HOT 1
- SVG is upscaled in the pdf-file HOT 3
- When font-size declared in rem, text is missing in the exported file. HOT 4
- Artifacts at letter s of font Aleo after conversion - but font Aleo itself has no such issue in jspdf HOT 5
- Latest master doesn't build HOT 1
- Excess clipping of nested SVG HOT 8
- Marker clipping HOT 2
- Error: Invalid argument passed to jsPDF.scale Error HOT 4
- Black background added to paths HOT 8
- Chinese is not supported HOT 2
- The exported PDF is not rendering custom fonts on some of the PDF text objects. HOT 8
- How to concatenate multiple SVG files? HOT 2
- Setting width and height as floats throws t. HOT 2
- How to ignore invalid dataurl HOT 6
- Accept spaces in data urls in image urls
- adding support for the CMYK color space HOT 5
- greek letters in text HOT 1
- tspan dx makes incorrect offset HOT 1
- Incorrect Gradient rendering in svg2pdf HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from svg2pdf.js.