File size: 1,807 Bytes
61dd12e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
942170b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
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

![Python](https://img.shields.io/badge/python-3.9%2B-blue)
![License](https://img.shields.io/badge/license-MIT-green)
![Version](https://img.shields.io/badge/version-2.0.0-orange)
![Platform](https://img.shields.io/badge/platform-linux%20%7C%20macos%20%7C%20windows-lightgrey)

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.