PDF <-> Write document converter
Project description
pdftowrite: PDF <-> Write with text
A utility that converts PDF to Stylus Labs Write document with text, and vice versa.
How does it work
pdftowrite
converts PDF pages to SVG paths, adds an invisible but selectable
text layer to each page, and merges them into a Write document.
writetopdf
converts a Write document to a PDF.
Why do I need writetopdf
? Write itself can export PDF
The PDF exporter of Write does not support some features (e.g. Unicode text,
multi-coords tspans, etc.), but writetopdf
does.
If I convert PDF -> Write -> PDF, Is the latter PDF is 100% the same as the former?
No, the program does not guarantee it. pdftowrite
converts PDF pages to SVG
paths, so original text elements are deleted. Instead, a text layer is added to
the page as mentioned earlier.
Install
pip install --user pdftowrite
Requirements
pdftowrite
:
- Poppler
- Inkscape (either native or flatpak)
- ImageMagick
- gzip
writetopdf
:
- wkhtmltopdf
- PDFtk(pdftk-java) or Poppler
- gzip
You need to manually install the packages. e.g.:
- Debian/Ubuntu:
sudo apt install poppler-utils inkscape imagemagick gzip wkhtmltopdf pdftk
- Fedora:
sudo dnf install poppler inkscape ImageMagick gzip wkhtmltopdf pdftk
- Arch:
sudo pacman -S poppler inkscape imagemagick gzip wkhtmltopdf pdftk
Example
pdftowrite example.pdf
writetopdf example.svgz
Usage
pdftowrite
usage: pdftowrite [-h] [-v] [-o OUTPUT] [-m {mixed,poppler,inkscape}] [-C]
[-d DPI] [-g PAGES] [-u NODUP_PAGES] [-Z] [-s SCALE] [-x X]
[-y Y] [-X XRULING] [-Y YRULING] [-l MARGIN_LEFT]
[-p PAPERCOLOR] [-r RULECOLOR]
FILE
Convert PDF to Stylus Labs Write document
positional arguments:
FILE A pdf file
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-o OUTPUT, --output OUTPUT
Specify output filename
-m {mixed,poppler,inkscape}, --mode {mixed,poppler,inkscape}
Specify render mode (default: mixed)
-C, --no-compat-mode Turn off Write compatibility mode
-d DPI, --dpi DPI Specify resolution for bitmaps and rasterized filters
(default: 96)
-g PAGES, --pages PAGES
Specify pages to convert (e.g. "1 2 3", "1-3")
(default: all)
-u NODUP_PAGES, --nodup-pages NODUP_PAGES
Specify no-dup pages (e.g. "1 2 3", "1-3") (default:
all)
-Z, --nozip Do not compress output
-s SCALE, --scale SCALE
Scale page size (default: 1.0)
-x X Specify the x coordinate of the viewport of <svg>
(default: 10.0)
-y Y Specify the y coordinate of the viewport of <svg>
(default: 10.0)
-X XRULING, --xruling XRULING
Specify x rulling (default: 0.0)
-Y YRULING, --yruling YRULING
Specify y rulling (default: 40.0)
-l MARGIN_LEFT, --margin-left MARGIN_LEFT
Specify margin left (default: 100.0)
-p PAPERCOLOR, --papercolor PAPERCOLOR
Specify paper color (default: #FFFFFF)
-r RULECOLOR, --rulecolor RULECOLOR
Specify rule color (default: #9F0000FF)
writetopdf
usage: writetopdf [-h] [-v] [-o OUTPUT] [-g PAGES] [-s SCALE] FILE
Convert Stylus Labs Write document to PDF
positional arguments:
FILE A Write document
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-o OUTPUT, --output OUTPUT
Specify output filename
-g PAGES, --pages PAGES
Specify pages to convert (e.g. "1 2 3", "1-3")
(default: all)
-s SCALE, --scale SCALE
Scale page size (default: 1.0)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pdftowrite-2021.4.1.1.tar.gz
.
File metadata
- Download URL: pdftowrite-2021.4.1.1.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5dabd5fa05a5fa08635453b2539781547d57cc628e5d25ea7f8e6c71eb35b8df |
|
MD5 | 4214cfdf6daf5416a109f3b6d4be5551 |
|
BLAKE2b-256 | 39b9d2c885ffb6114265c318126c6566711bd86520c839b0b7d6b5fd404df37b |
File details
Details for the file pdftowrite-2021.4.1.1-py3-none-any.whl
.
File metadata
- Download URL: pdftowrite-2021.4.1.1-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d7a5259e4492a36d614cc832bc968b3c7ec134b7aefde8783ae99c9a3fb9633 |
|
MD5 | b9873795b53429fe776787f7f09435ec |
|
BLAKE2b-256 | 3ac1ff4e4de6e0fd59acc71227a44c711cde260d2cd0f6135783b895a0483df4 |