[spp] [PATCH v2 05/13] docs: add script for generating PDF images

ogawa.yasufumi at lab.ntt.co.jp ogawa.yasufumi at lab.ntt.co.jp
Wed Sep 26 11:08:33 CEST 2018


From: Yasufumi Ogawa <ogawa.yasufumi at lab.ntt.co.jp>

To compile a PDF document, each of embedded images also should PDF.
SVG is not supported for embedding an image in the PDF document.

This update is to add a helper script for generating PDF images from
SVG with inkscape command which is a recommended tool for editing a SVG
file in DPDK.

Signed-off-by: Yasufumi Ogawa <ogawa.yasufumi at lab.ntt.co.jp>
---
 docs/guides/gen_pdf_imgs.py | 50 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 docs/guides/gen_pdf_imgs.py

diff --git a/docs/guides/gen_pdf_imgs.py b/docs/guides/gen_pdf_imgs.py
new file mode 100644
index 0000000..4459316
--- /dev/null
+++ b/docs/guides/gen_pdf_imgs.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Nippon Telegraph and Telephone Corporation
+
+# Generate PDF images form SVG to embed targetting PDF document.
+
+import os
+import subprocess
+
+DPI = 300  # resolution for export
+
+
+def filter_list(alist, ext='svg'):
+    """Filter files with given extension"""
+
+    res = []
+    for ent in alist:
+        ent_ext = ent.split('.').pop()
+        if ent_ext == ext:
+            res.append(ent)
+    return res
+
+
+def main():
+    work_dir = os.path.dirname(__file__)
+    if work_dir == '':
+        work_dir = '.'
+
+    img_dir_info = os.walk('%s/images' % work_dir)
+    for root, dirs, files in img_dir_info:
+        if len(files) > 0:
+            svg_files = filter_list(files)
+            for fname in svg_files:
+                # setup inkscape options
+                tmp = fname.split('.')
+                tmp.pop()
+                base_fname = tmp[0]
+                svg_f = base_fname + '.svg'
+                pdf_f = base_fname + '.pdf'
+                svg_fpath = '%s/%s' % (root, svg_f)
+                pdf_fpath = '%s/%s' % (root, pdf_f)
+
+                cmd = 'inkscape -d %d -D -f %s --export-pdf %s' % (
+                    DPI, svg_fpath, pdf_fpath)
+                print(cmd)
+                subprocess.call(cmd, shell=True)
+
+
+if __name__ == "__main__":
+    main()
-- 
2.7.4



More information about the spp mailing list