我正在构建一组包含不幸数量的硬编码值的SVG文件(它们必须打印一些大小为mm的元素,而其他元素必须按百分比缩放,并且大多数值是相对于彼此定义的).而不是手工管理这些数字(天堂禁止我想改变一些东西),我想我可能会用我可信赖的锤子Python来完成任务.

SVG 1.1本身并不支持任何可以让我按照自己的意愿行事的变量方案,而且我不想将javascript或不稳定的w3c草案规范引入混合中.一个显而易见的解决方案是使用字符串格式来读取,解析和替换SVG文件中的变量.对于更大的文档来说,这似乎是一个坏主意,但具有简单和便携的优点.

我的第二个问题是调查可用的python-> svg库.不幸的是,似乎少数选项往往太新(pySVG仍然有一个不稳定的界面),太旧(自2005年以来没有更新),或被放弃.我没有密切关注,但我的感觉是图表应用程序不够灵活,无法生成我的文档.

我遇到的第三个选项是使用一些其他绘图工具(例如cairo)可以说服推出svg.这具有(潜在)缺点,即不能原生地支持对我来说如此重要的绝对元素大小,但可能包括输出PDF的能力,这将是方便的.

我已经完成了谷歌搜索,所以我正在寻找那些使用过任何提到的方法或者可能知道其他方法的人的意见.选择任何解决方案的长期稳定性对我来说很重要(这是手动编码的原始原因,而不仅仅是使用插图画家).

在这一点上,我倾向于第一个解决方案,因此欢迎使用python来解析和替换XML文件中的变量的最佳实践建议.

python编辑svg文件_使用Python创建SVG相关推荐

  1. python关闭csv文件_使用Python编辑csv文件时跳过标题

    使用Python编辑csv文件时跳过标题 我使用下面引用的代码使用Python编辑csv.代码中调用的函数形式代码的上半部分. 问题:我希望下面引用的代码从第2行开始编辑csv,我希望它排除包含标题的 ...

  2. python读取svg文件_使用python创建SVG

    我正在构建一组SVG文件,其中包含大量的硬编码值(它们必须打印一些大小为m m的元素,而其他元素必须按百分比缩放,并且大多数值都是相对定义的).我不想用手来管理这些数字(但愿我不想改变一些事情),我想 ...

  3. python编辑svg文件_使用Python批量转换SVG文件为PNG或PDF文件

    使用Python批量转换SVG文件为PNG或PDF文件 使用Python批量转换SVG文件为PNG或PDF文件 使用模块 1 模块单独使用 2 模块用于代码 实例 1 命令行方式 2 python脚本 ...

  4. python解压文件_使用Python实现文件压缩和解压

    大家可能都熟悉.zip格式的文件.它可以把多个文件,压缩成一个文件.这在网络上传输时很有用,而且节省硬盘空间. 接下来,我们使用Python实现压缩和解压. 读取ZIP文件信息 要读取ZIP文件的内容 ...

  5. python 复制替换文件_在Python中复制和替换文件

    python 复制替换文件 The python language provides a built-in module "shutil", which offers numero ...

  6. python只读打开文件_关于python:只读文件的第一行?

    如何使用python只得到文件的第一行作为字符串? 如果您已经阅读了文件("在阅读了文件之后"),那么您已经阅读了第一行!(假设至少有一行.) 请注意,现在所说的问题与原来的含义不 ...

  7. python关闭excel文件_利用Python读取和修改Excel文件(包括xls文件和xlsx文件)

    本文介绍一下使用Python对Excel文件的基本操作,包括使用xlrd模块读取excel文件,使用xlwt模块将数据写入excel文件,使用openpyxl模块读取写入和修改excel文件. 目录 ...

  8. python读取rtf文件_【Python】【IO】文件读写

    一.打开的文件在使用完后要关闭 >>>f=file('fibs.py') #用''表示文件名 #无''表示变量名 >>>f.read() #打印fibs.py中的内 ...

  9. python os复制文件_用Python复制文件的九种方法

    以下是演示"如何在Python中复制文件"的九种方法. shutil copyfile()方法 shutil copy()方法 shutil copyfileobj()方法 shu ...

最新文章

  1. 数据建模学习笔记-2-《高质量数据库建模 2-建模流程》
  2. [转]verilog语法学习心得
  3. 在Jetson Xavier NX上安装pycuda报错:src/cpp/cuda.hpp:14:10: fatal error: cuda.h: No such file or directory
  4. 设计模式的C语言应用-命令模式-第五章
  5. JavaScript入门到精通,需要掌握的技能盘点
  6. XX数据中心技术方案
  7. LINUX实验---网络管理
  8. 神经网络模型应用实例SPSS - 典型的神经网络模型 - 神经网络模型的应用
  9. Docker 文件映射
  10. 2020年金融科技创新项目总结
  11. 栈(LIFO:后进先出)
  12. vue+vue-ueditor-wrap+秀米
  13. TF卡格式化了怎么办?tf卡数据恢复,看这3个方法
  14. 红警ol服务器维护中1003,不止于经典,全球唯一正版授权《红警OL》登录UP2018腾讯新文创生态大会...
  15. jupyter–lab 配置文件jupyter_lab_config.py
  16. 随身WiFi加风扇,永久读自己的卡上网,多图详细教程
  17. 交叉编译工具链的设置和命名规则
  18. 又做java培训讲师
  19. gitlab mr wip 怎么弄成_GitLab | 为什么我们开源了公司员工手册
  20. CString的头文件

热门文章

  1. 一款免费的截图、滚动截屏软件
  2. eplan PLC画图
  3. 网友鸿蒙谷歌的Android,华为鸿蒙OS已经确认更名?新名字更加令人惊艳!网友:过目难忘...
  4. Web漏洞挖掘(一)登录认证模块的暴力破解实例
  5. 小学计算机表格制作教学,《制作表格》~试讲稿~小学信息技术
  6. win7或win2008系统中,出现【已停止工作,联机检查解决方案并关闭该程序,关闭程序】解决方法!
  7. JAVA版本与C#配对的SM2加签验签
  8. 学习笔记-应用光学 第一章 几何光学的基本定律
  9. 自适应与响应式的区别?
  10. 一个三本学生的面试之旅