
Security News
NVD Quietly Sweeps 100K+ CVEs Into a “Deferred” Black Hole
NVD now marks all pre-2018 CVEs as "Deferred," signaling it will no longer enrich older vulnerabilities, further eroding trust in its data.
A command-line to convert tall screenshots and images into multi-page PDFs. Intelligently splits the image across pages by detecting content gaps, avoiding awkward breaks in the middle of content.
A scrollshot (also called a scrolling screenshot or full-page screenshot) captures an entire scrollable area - like a long webpage, chat conversation, or social media feed - into a single tall image. While normal screenshots only capture what's visible on screen, scrollshots stitch together multiple screens worth of content.
Third-party capture apps record a scrolling screen element into a tall image. Third-party stitching apps combine a series of overlapped screenshots, or a video capture of the screen, into a single scrollshot. These are my favorites:
Capture Apps:
Stitching Apps:*
This tool is particularly useful when you need to:
Consider using direct PDF export when available. A natively-generated PDF is usually superior to a converted scrollshot because it:
Use scrollshot2pdf as a fallback solution when:
In the terminal, enter one of these:
# Install using pip
pip install git+https://github.com/osteele/scrollshot2pdf.git
# Install using uv
uv tool install git+https://github.com/osteele/scrollshot2pdf.git
Basic usage:
scrollshot2pdf input_image.png
With options:
scrollshot2pdf input_image.png -o output.pdf --page-size a4 --margin 25mm --min-gap 100
With customized page numbers:
scrollshot2pdf input.png --page-numbers --number-position top-right --number-size 12 --number-font "Times-Roman" --skip-first false
With page range selection:
scrollshot2pdf input.png --page-range 5 --page-numbers --number-position top-right --number-size 12 --number-font "Times-Roman" --skip-first false
With columns:
scrollshot2pdf input.png --columns 2 --column-gap 30
Advanced options:
scrollshot2pdf input.png \
--output output.pdf \
--page-size a4 \
--margin 20mm \
--columns 2 \
--column-gap 25 \
--min-gap 50 \
--title "My Document" \
--page-numbers \
--number-position bottom-right
--page-size
, -p
: Page size (default: a4)--margin
, -m
: Margin size in px or mm (default: 10mm)--columns
, -c
: Number of columns per page (default: 1)--column-gap
: Gap between columns in points (default: 20.0)--min-gap
, -g
: Minimum gap size in pixels for page breaks (default: 50)--page-numbers
: Add page numbers (default: enabled)--no-page-numbers
: Disable page numbers--number-position
: Position of page numbers (bottom-left, bottom-right, top-left, top-right)--number-font
: Font for page numbers--number-size
: Font size for page numbers--skip-first-number
: Skip page number on first page (default: enabled)--title
: Add title to first page (use "from-filename" to use input filename)--title-position
: Position of title (left, center, right)--title-font
: Font for title--title-size
: Font size for title--page-range
: Output specific pages (e.g., "1-5" or "3")--output
, -o
: Output PDF file name (default: input_name.pdf)--ocr
: Enable OCR text layer (requires tesseract)--ocr-lang
: OCR language (default: eng)--no-ocr
: Disable OCR (default)The OCR feature makes your PDFs searchable by adding an invisible text layer over the image. This is the only feature that requires the Tesseract library. Without OCR, the PDFs will still be created, but text won't be searchable.
OCR uses the Tesseract library and supports multiple languages including non-Latin scripts when appropriate language packs are installed.
To use OCR features, install with OCR support:
# Install with OCR support using pip
pip install "git+https://github.com/osteele/scrollshot2pdf.git[ocr]"
# Or with uv tool
uv tool install --with ocr git+https://github.com/osteele/scrollshot2pdf.git
# Or add OCR dependency separately
pip install pytesseract
On Ubuntu/Debian:
sudo apt-get install tesseract-ocr
On macOS:
brew install tesseract
Two-column layout with custom gap:
All standard paper sizes from ReportLab are supported, including:
Each size is also available in landscape orientation by adding "-landscape" to the name. For example:
Run scrollshot2pdf --help
to see the complete list of available page sizes.
Margins can be specified in:
Converting a tall screenshot into a 3-page PDF with 25mm margins:
scrollshot2pdf screenshot.png --margin 25mm
This project is licensed under the MIT License. See the LICENSE file for details.
Written by Anthropic Claude. Project supervised by @osteele.
FAQs
Convert tall screenshots into multi-page PDFs
We found that scrollshot2pdf demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
NVD now marks all pre-2018 CVEs as "Deferred," signaling it will no longer enrich older vulnerabilities, further eroding trust in its data.
Research
Security News
Lazarus-linked threat actors expand their npm malware campaign with new RAT loaders, hex obfuscation, and over 5,600 downloads across 11 packages.
Security News
Safari 18.4 adds support for Iterator Helpers and two other TC39 JavaScript features, bringing full cross-browser coverage to key parts of the ECMAScript spec.