Download PDFs from ePapyrus StreamDocs viewers
Project description
streamdoc-dl
Slop coded. PRs welcome.
Download PDFs from ePapyrus StreamDocs viewers.
StreamDocs is an HTML5 document viewer by ePapyrus used on Korean government sites (standard.go.kr, e-book.scourt.go.kr, etc.) that renders PDFs as page images in-browser with download disabled. This tool reconstructs the PDF by downloading page images and text data, producing a searchable PDF with selectable text.
Install
pip install streamdoc-dl
Usage
streamdoc-dl 'https://www.standard.go.kr/streamdocs/view/sd;streamdocsId=1234567890'
Output filename is auto-detected from the server metadata.
Options
streamdoc-dl URL [-o OUTPUT] [-z ZOOM] [-j JOBS] [--font FONT] [--compress [LEVEL]] [--tor]
| Option | Default | Description |
|---|---|---|
-o |
auto | Output PDF path |
-z |
max | Zoom level: max for highest quality, or a number (100=native, 200=2x, 300=3x) |
-j |
4 | Concurrent download threads |
--font |
auto | Path to TTF font for text layer |
--compress |
off | Compress with Ghostscript (screen/ebook/printer/prepress) |
--tor |
off | Route traffic through Tor (SOCKS5 proxy on 127.0.0.1:9050) |
Compression
Use --compress to reduce output size via Ghostscript (gs must be installed):
streamdoc-dl URL --compress # default: ebook quality
streamdoc-dl URL --compress printer # higher quality
Font auto-detection
The invisible text layer needs a Korean-capable font for search/copy. The tool tries:
- NanumGothic from common system paths
fc-match :lang=ko(Linux with fontconfig)- Fallback to reportlab built-in CID font (HYSMyeongJo-Medium)
To use a specific font: --font /path/to/font.ttf
Tor
Use --tor to route all traffic through Tor (must be running on port 9050):
tor &
streamdoc-dl URL --tor
Resume
Interrupted downloads are automatically resumed. Page images and text are cached as they download. Re-run the same command to continue from where it left off. The cache is cleaned up after the PDF is built.
Cache location:
- Linux:
$XDG_CACHE_HOME/streamdoc-dl/or~/.cache/streamdoc-dl/ - macOS:
~/Library/Caches/streamdoc-dl/ - Windows:
%LOCALAPPDATA%\streamdoc-dl\
How it works
- Fetches document metadata from the StreamDocs v4 API
- If the server allows direct download, fetches the original PDF
- Otherwise, downloads page images and text data concurrently
- Fixes the corrupted first byte on each image (server-side anti-scrape)
- Builds a PDF with image backgrounds and invisible text overlay
License
GPL-3.0-or-later
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file streamdoc_dl-0.2.2.tar.gz.
File metadata
- Download URL: streamdoc_dl-0.2.2.tar.gz
- Upload date:
- Size: 19.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d6da84f4a064d28ce79a754f8539a76af8d671127a6be99534177d24de32045
|
|
| MD5 |
5b084a8ee62c1b0145d0713ee91d9682
|
|
| BLAKE2b-256 |
9ed860d9e5c7ea94efd1cb04a9c304189744f4d756347d6e3d3a535cd778b0e0
|
File details
Details for the file streamdoc_dl-0.2.2-py3-none-any.whl.
File metadata
- Download URL: streamdoc_dl-0.2.2-py3-none-any.whl
- Upload date:
- Size: 19.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb1678c52513d48c14821d49afa7de5997e220b17b5c62ffac7db74cca4254c0
|
|
| MD5 |
6eae5ff1bf86f600cd01bee94f4634b8
|
|
| BLAKE2b-256 |
9fed16a219c8cb108ca6837ece59605c7bf959f1c6f08e663f56bae9f859613f
|