crPDF is a lightweight desktop PDF reader built on Chromium Views and PDFium. It lives as a standalone Chromium source-tree target and focuses on a clean native window, fast PDF rendering, document navigation, search, and practical annotation workflows.
- Open local PDF files from the file picker, command line, recent history, or drag and drop.
- Continuous and dual-page reading modes.
- Zoom, rotate, fullscreen, page navigation, and document properties.
- Text selection, copy, search, and link handling.
- PDF markup annotations: Highlight, Underline, Squiggly, and Strikethrough.
- Text note annotations with an in-page icon and overlay preview.
- Stamp annotations with text, SVG content, shape, color, opacity, drag, and resize support.
- Recent file history with per-item removal.
- Localized resources for
zh-CN,zh-HK,zh-TW,ar,fr,fr-CA,ru,es,es-419,pt-BR, andpt-PT.
crpdf_main.cc- application startup and resource initialization.crpdf_window.*- main window, toolbar, history, drag and drop, and top-level UI.crpdf_frame_view.*- custom frame, titlebar, window controls, and options menu.crpdf_pdf_view.*- PDF loading, rendering, text selection, search, links, annotations, and interaction.crpdf_viz_*andcrpdf_context_factory.*- Viz/compositor integration.crpdf_strings.grdandtranslations/- UI strings and localized resources.vector_icons/and SVG assets - annotation and toolbar icons.
This project is intended to be built inside a Chromium checkout.
autoninja -C out/Default crpdfThe main GN target is:
//crpdf:crpdfout/Default/crpdf /path/to/file.pdfYou can also start crPDF without a file and open a PDF from the UI.
crPDF writes standard PDF annotations through PDFium for markup, text notes, and stamps. Some richer visuals are currently rendered by crPDF itself:
- Text note icons and overlays use crPDF's custom UI.
- Stamp text, SVG, shape, opacity, drag, and resize behavior are stored as PDF annotation metadata and rendered by crPDF.
- Stamp appearance streams are not yet generated, so other PDF readers may not display custom stamp visuals exactly as crPDF does.
crPDF follows the Chromium source license. See the Chromium LICENSE file in
the repository root.