explaingit

wmjordan/pdfpatcher

12,385C#Audience · generalComplexity · 2/5LicenseSetup · easy

TLDR

A free Windows desktop program for editing PDF files, split, merge, remove restrictions, fix bookmarks, swap fonts, and extract images, without needing Adobe Acrobat.

Mindmap

mindmap
  root((PDFPatcher))
    Core features
      Remove restrictions
      Split and merge
      Rotate and resize
      Extract images
    Bookmark editor
      Edit table of contents
      Bulk find and replace
      Auto-generate bookmarks
    Font tools
      Swap fonts
      Embed missing fonts
    Advanced
      PDF object explorer
      OCR image PDFs
    Platform
      Windows 7+
      .NET Framework
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Remove copy and print restrictions from a locked PDF so you can work with its content normally.

USE CASE 2

Split a large PDF into individual chapters or merge multiple PDFs and images into a single document.

USE CASE 3

Edit, recolor, and bulk-rename bookmarks in a PDF's table of contents using find-and-replace and regex.

USE CASE 4

Fix garbled text in a PDF by swapping out missing fonts or embedding replacements for e-reader compatibility.

Tech stack

C#.NET Framework

Getting it running

Difficulty · easy Time to first run · 5min

Windows only, requires .NET Framework 4.0, 4.8. OCR feature additionally needs Microsoft Office's document imaging component.

Free to use under an AGPL-based license with an added conscience clause asking users to do one kind act after each time the software helps them.

In plain English

PDFPatcher (PDF补丁丁) is a Windows desktop tool for editing and manipulating PDF files, written in C# on .NET Framework. The README is in Chinese. The tool covers a broad set of PDF operations without requiring Adobe Acrobat or any paid software. Its feature list includes: modifying document properties, page numbers, and internal links, removing copy and print restrictions from locked PDFs, rotating or resizing pages, splitting a large PDF into parts or merging multiple PDFs and images into one, exporting images from a PDF at full quality, converting PDF pages to image files, extracting or deleting specific pages and reordering them, and renaming PDF files based on their embedded metadata. A dedicated bookmark editor lets you view and edit the table-of-contents structure inside a PDF. You can change bookmark colors, styles, and target pages in bulk, run find-and-replace on bookmark text (including regex and XPath patterns), and automatically generate bookmarks from document headings. The editor includes a reading pane with right-to-left layout support for vertical Chinese text documents. There is also a document structure explorer that shows the internal tree of PDF objects, which you can edit directly or export to XML. Font replacement tools let you swap or embed fonts to fix garbled text when opening documents on devices without the original fonts installed, such as e-readers. An optional OCR feature reads text from image-based PDFs using Microsoft Office's document imaging component. The license is unusual: the software is free to use but comes with an AGPL-based license plus a conscience clause asking users to do one kind act after each time the software helps them, and asking developers who profit from the source code to donate a small share to those in need. It runs on Windows 7 and later with .NET Framework 4.0 through 4.8.

Copy-paste prompts

Prompt 1
I have a PDF with copy and print restrictions enabled. Using PDFPatcher, walk me through removing those restrictions so I can copy text and print normally.
Prompt 2
I need to split a 200-page PDF into individual chapters. How do I use PDFPatcher to define split points and export each chapter as a separate file?
Prompt 3
My PDF has bookmarks with incorrect page numbers. Show me how to use PDFPatcher's bookmark editor to bulk-update the target pages using find-and-replace.
Prompt 4
A PDF I received shows garbled characters on my PC. How do I use PDFPatcher's font replacement tool to fix the display without re-creating the document?
Open on GitHub → Explain another repo

← wmjordan on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.