Comments (3)
Thank you for raising your first issue! Your help to improve svglib is much appreciated!
from svglib.
You are right, if paths in the content are absolute paths, we should not fail with that message (around
Line 707 in 7742244
from svglib.
I suck at handling forked changes, so I'm just gonna dump the code here.
These changes really helped me out. Write that up as lit.
reworked lines 707-722
if iri:
import io
# Only local relative paths and BytesIO objects are supported
if not isinstance(self.source_path, (str, io.BytesIO)):
logger.error(
"Unable to resolve image path %r as the SVG source is not "
"a file system path or BytesIO object.",
iri
)
return None
if isinstance(self.source_path, str):
path = os.path.normpath(os.path.join(os.path.dirname(self.source_path), iri))
if not os.access(path, os.R_OK):
return None
if path == self.source_path:
# Self-referencing, ignore the IRI part
iri = None
else:
# self.source_path is of type io.BytesIO
# We need to read the data from BytesIO object so that it can be accessed like a regular file system path.
try:
path = self.source_path.name
except AttributeError:
path = '<BytesIO>'
with open(path, 'wb') as f:
f.write(self.source_path.read())
path = os.path.normpath(os.path.join(os.path.dirname(path), iri))
if path == '<BytesIO>':
iri = None
elif not os.access(path, os.R_OK):
return None
from svglib.
Related Issues (20)
- visibility ignored using svg2rlg and renderPM.drawToFile HOT 3
- convert to pdf and png files is incorrect HOT 5
- wrong width and height attributes of drawing obj HOT 1
- Implementation error in rendering of paths with shorthand command for quadratic Bézier curves HOT 5
- Transform on clipPath does not work HOT 2
- Error when svg file contains references to font with space in its name HOT 1
- Error on install svglib HOT 2
- Reportlab 4.0.0 added dependency to pycairo HOT 3
- svglib fails to render properly HOT 11
- CI failure because of missing cairo HOT 9
- Using root log instead of logger HOT 3
- Units px and pt are wrong HOT 5
- Embedding SVG fonts in PDF/rlg HOT 5
- Add font size test case to test suite
- Rename default branch to main HOT 2
- Add more example and pip install commands to README.md HOT 4
- svglib doesn't remove temporary files properly? HOT 5
- Problems with embedded image sizes HOT 4
- svglib ignores <switch> nodes HOT 4
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 svglib.