| | --- |
| | title: property-stamp-pdf |
| | colorFrom: blue |
| | colorTo: gray |
| | sdk: none |
| | pinned: false |
| | license: mit |
| | tags: |
| | - pdf |
| | - document-processing |
| | - stamp |
| | - python |
| | - utility |
| | short_description: Add continuous property stamps to PDF documents |
| | --- |
| | |
| | # property-stamp-pdf |
| |
|
| |  |
| |  |
| |  |
| |  |
| |
|
| | Add property stamps to PDF documents. A continuous vertical strip of metadata is printed on the left margin of every page. |
| |
|
| | --- |
| |
|
| | ## Stamp Anatomy |
| |
|
| | The stamp follows this structure: |
| | `propertyfun: @algorembrant [0001.v1] 9 March 2026 https://huggingface.co/algorembrant/ML-3m-trader` |
| |
|
| | - **Font**: Times New Roman (`Times-Roman`) |
| | - **Size**: 11 pt |
| | - **Hyperlinks**: `@algorembrant` is clickable, and the repository URL is clickable. |
| | - **Position**: Vertically centered on the left margin. |
| |
|
| | --- |
| |
|
| | ## Installation |
| |
|
| | ### 1. Clone the repository |
| |
|
| | ```bash |
| | git clone https://huggingface.co/algorembrant/property-stamp-pdf |
| | cd property-stamp-pdf |
| | ``` |
| |
|
| | ### 2. Install dependencies |
| |
|
| | ```bash |
| | pip install -r requirements.txt |
| | ``` |
| |
|
| | --- |
| |
|
| | ## Usage |
| |
|
| | ```bash |
| | python arxiv_stamp.py <input.pdf> "<note_or_statment>" |
| | ``` |
| |
|
| | ### Example |
| |
|
| | ```bash |
| | python arxiv_stamp.py rust_ml_trader_audit.pdf "Audit Report v1.0" |
| | ``` |
| |
|
| | Output: `rust_ml_trader_audit_stamped.pdf` |
| |
|
| | --- |
| |
|
| | ## How It Works |
| |
|
| | 1. The source PDF is read page by page using `pypdf`. |
| | 2. A stamp overlay PDF is rendered in memory using `reportlab` with the text rotated 90 degrees CCW. |
| | 3. The overlay is merged onto the original page. |
| | 4. The final PDF is written to disk. |
| |
|
| | --- |
| |
|
| | ## Author |
| |
|
| | **Algorembrant** (2026) |
| |
|
| | --- |
| |
|
| | ## License |
| |
|
| | MIT License. |
| |
|