A tool for extracting and processing PDF annotations.
This program allows you to extract annotations from PDF files and save them in a structured format. It features a user-friendly graphical interface and supports various annotation types.
- Extract PDF annotations
- User-friendly graphical interface
- Progress tracking
- Automatic page numbering detection
- Batch processing support
- Export to markdown text format
git clone https://github.com/EnginKarahan/pdf-annotation-extractor.git
cd pdf-annotation-extractor
pip install -r requirements.txt
pip install pdf-annotation-extractor
python main.py
Or use the pre-compiled executable from the releases section.
python pdf_utils.py input.pdf
- Python 3.x
- PyMuPDF
- tkinter (included in most Python distributions)
To create a standalone executable:
python -m PyInstaller --onefile --windowed main.py
This tool allows you to extract annotations from PDF files and export them to a markdown file. The program processes different types of annotations including highlights, underlines, and comments.
- Extract annotations from PDF files
- Process different annotation types (highlights, comments, underlines)
- Detect and use internal page numbers of the PDF
- Export annotations to markdown format
- Simple graphical user interface
- Start the application
- Click "Select PDF" to choose your PDF file
- Click "Extract" to process the annotations (The markdown file will be saved in the same directory as the source PDF)
The exported markdown file contains:
- Document title
- Page numbers (as they appear in the PDF)
- Annotation text and comments
- Export date and time
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Engin Karahan - [email protected]
- PyMuPDF developers for their excellent PDF processing library
- All contributors and users of this project
If you encounter any problems or have suggestions, please open an issue.