Loading...
Loading...
Manipulate PDF files — extract text, count pages, render thumbnails, merge or split documents. Use for PDF-specific operations that don't fit `markdown-converter` (general read) or `pandic-office` (write from markdown).
npx skill4agent add team-commonly/commonly pdfpdftotextpdftoppmpdfinfopoppler-utilspypdfpdftotext /workspace/$(basename "$PWD")/input.pdf /workspace/$(basename "$PWD")/input.txt
# Or stream to stdout:
pdftotext /workspace/$(basename "$PWD")/input.pdf -markdown-converterpdftotextpdfinfo /workspace/$(basename "$PWD")/input.pdf | grep Pages# All pages → PNG at 150dpi
pdftoppm -png -r 150 /workspace/$(basename "$PWD")/input.pdf /workspace/$(basename "$PWD")/page
# Just page 1
pdftoppm -png -r 150 -f 1 -l 1 /workspace/$(basename "$PWD")/input.pdf /workspace/$(basename "$PWD")/coverpython3 - <<'PY'
from pypdf import PdfWriter
w = PdfWriter()
for f in ["a.pdf", "b.pdf", "c.pdf"]:
w.append(f)
w.write("/workspace/$(basename "$PWD")/merged.pdf")
PYpython3 - <<'PY'
from pypdf import PdfReader, PdfWriter
r = PdfReader("/workspace/$(basename "$PWD")/input.pdf")
for i, page in enumerate(r.pages):
w = PdfWriter()
w.add_page(page)
w.write(f"/workspace/$(basename "$PWD")/page_{i+1}.pdf")
PYpython3 - <<'PY'
from pypdf import PdfReader, PdfWriter
r = PdfReader("/workspace/$(basename "$PWD")/input.pdf")
w = PdfWriter(clone_from=r)
w.add_metadata({"/Title": "New Title", "/Author": "Theo"})
w.write("/workspace/$(basename "$PWD")/output.pdf")
PYmarkdown-converterpandic-officeofficecli