Skip to main content

A tool to edit the outline of a PDF file and shift page numbers to match printed ones

Project description

PDF_outline

Un semplice strumento CLI ideato per tutti quegli studenti che nel tentativo di risparmiare un po' di peso nello zaino si convertono al digitale ma "trovano" soltanto pdf senza indice e soprattutto con una numerazione sfalsata a causa di indice, prefazione e quant altro.

Installazione

uv

pipx

Development

Cloniamo il repo e installiamo gli hooks

git clone https://github.com/aGenius05/PDF_outline.git
cp ./hooks/* .git/hooks

uv

Si consiglia di utilizzare uv in quanto rende tutto molto più semplice

uv sync
uv pip install -e .

Installazione manuale

In questo caso l'installazioen è più laboriosa, avrai bisogno di python3, la libreria pikepdf, che si consiglia di installare in un virtual environment tramite pip3 eseguendo

python3 -m venv /path/to/venv/
source /path/to/venv/bin/activate
pip3 install -r requirements.txt
pip3 install -e .

infatti il file requirements.txt contiene la versione utilizzata da me quando ho sviluppato questo script, con quella sicuramente funzionerà.

Utilizzo

L'utilizzo è molto semplice, dopo aver attivato il venv:

PDF_outline_add [file_input.pdf] [prima_pagina] [file_indice] [file_output.pdf]

dove file_input è il pdf che si vuole lavorare, prima_pagina è il numero della prima pagina effettiva nella numerazione "sbagliata", file_indice è il file dove è scritto l'indice e file_output è il nome che si vuole dare al file finito.

Gemini Gem

Per costruire il file dell'indice risulta molto efficace creare un Agent personalizzato di Gemini(Gem). Per fare ciò fornire il prompt.

TODO

  • versione corretta su build
  • implementare CI/CD per creare requirements, testare, buildare e pubblicare
  • automatizzare publishment pypi
  • scrivere istruzioni per installare con pipx
  • esporta indice esistente
  • pagine doppie con numerazione giusta
  • readme in più lingue

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdf_tools_outline-1.1.1.dev6.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pdf_tools_outline-1.1.1.dev6-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file pdf_tools_outline-1.1.1.dev6.tar.gz.

File metadata

  • Download URL: pdf_tools_outline-1.1.1.dev6.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pdf_tools_outline-1.1.1.dev6.tar.gz
Algorithm Hash digest
SHA256 2e03e666630ce30538f1653043a2260ea2f89bdd5e2a4a7693a66e2c76f9a5f7
MD5 e0187428a1bda7eb220661fb971af33e
BLAKE2b-256 2a3853fa7bed83a93c4238b861106a9980d81c5bb0086efa010377db3a66d5de

See more details on using hashes here.

File details

Details for the file pdf_tools_outline-1.1.1.dev6-py3-none-any.whl.

File metadata

  • Download URL: pdf_tools_outline-1.1.1.dev6-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for pdf_tools_outline-1.1.1.dev6-py3-none-any.whl
Algorithm Hash digest
SHA256 1e9a5de34e6bb6643637b4b9d8438ad416e4d35653c2f1ab84909c9b7a420b79
MD5 b6e3088b102a00158d1382bb5491be24
BLAKE2b-256 6646806a5617d1946f9de6c8ce3847e94445e980ecaf3475ea2cfec6cfc8e87f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page