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.
pip install streamdoc-dl
streamdoc-dl 'https://www.standard.go.kr/streamdocs/view/sd;streamdocsId=1234567890'
Output filename is auto-detected from the server metadata.
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) |
--no-strip-watermark |
off | Keep watermark characters in the text layer |
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
Important: A Korean-capable font is required for the text layer to work properly.
The tool tries to auto-detect in this order:
- NanumGothic from common system paths
fc-match :lang=ko(Linux with fontconfig)- Fallback to reportlab built-in CID font (may not work on all platforms)
Installation:
- Arch/Manjaro:
sudo pacman -S noto-fonts-cjk - Debian/Ubuntu:
sudo apt install fonts-noto-cjk - Termux (Android):
pkg install noto-fonts-cjk - macOS:
brew install font-noto-sans-cjk - Windows: Download from Google Fonts
Or specify manually: --font /path/to/font.ttf
Use --tor to route all traffic through Tor (must be running on port 9050):
tor &
streamdoc-dl URL --tor
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\
- 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
GPL-3.0-or-later