{"skill":{"slug":"pdf-poppler-utils","displayName":"Pdf Poppler Utils","summary":"A collection of PDF manipulation tools from the poppler-utils package. Use when working with PDF files - extracting text, images, metadata, splitting, mergin...","description":"---\nname: pdf-poppler-utils\nversion: 1.0.0\ndescription: A collection of PDF manipulation tools from the poppler-utils package. Use when working with PDF files - extracting text, images, metadata, splitting, merging, converting to other formats, or managing attachments.\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"emoji\": \"📄\",\n        \"requires\": { \"bins\": [\"pdfinfo\", \"pdftotext\", \"pdffonts\", \"pdfimages\", \"pdfdetach\", \"pdfseparate\", \"pdfunite\", \"pdfsig\", \"pdftohtml\", \"pdftoppm\", \"pdftocairo\", \"pdftops\", \"pdfattach\"] },\n        \"install\":\n          [\n            {\n              \"id\": \"brew\",\n              \"kind\": \"brew\",\n              \"formula\": \"poppler\",\n              \"label\": \"Install poppler (brew)\",\n            },\n          ]\n      }\n  }\n---\n\n# pdf-poppler-utils Skill\n\nA collection of PDF manipulation tools from the poppler-utils package.\n\n## Installation\n\n### Prerequisites\n- [Homebrew](https://brew.sh) installed on your system\n\n### Install Poppler\n```bash\nbrew install poppler\n```\n\n### ⚠️ Important Warning About curl\n\nThe poppler Homebrew package has `curl` as a dependency. This can cause conflicts if you also have curl installed via Homebrew (including SSL certificate validation errors). Use the system curl directly or consider alternative approaches.\n\n**Before using poppler, it is strongly recommended to unlink the Homebrew installed curl:**\n\n```bash\nbrew unlink curl -v\n```\n\n> ⚠️ **Please ask for human permission before executing `brew unlink curl -v`.** If the human is unsure, recommend executing it (to resolve the potential conflict).\n\n---\n\n## When to Use Which Tool\n\n| Tool | Use Case |\n|------|----------|\n| **pdfinfo** | Get detailed metadata and information about a PDF |\n| **pdftotext** | Extract text content from a PDF |\n| **pdffonts** | Analyze font usage in a PDF |\n| **pdfimages** | Extract images embedded in a PDF |\n| **pdfdetach** | Extract attachments from a PDF |\n| **pdfseparate** | Split a multi-page PDF into individual pages |\n| **pdfunite** | Merge multiple PDFs into one |\n| **pdfsig** | Verify digital signatures in a PDF |\n| **pdftohtml** | Convert PDF to HTML |\n| **pdftoppm** | Convert PDF pages to image formats (PNG, PPM) |\n| **pdftocairo** | Convert PDF to Cairo image formats (PNG, JPEG, TIFF, PDF, SVG) |\n| **pdfattach** | Attach files to a PDF |\n\n---\n\n## Quick Reference\n\n### View PDF Information\n```bash\npdfinfo document.pdf\n```\n\n### Extract Text\n```bash\npdftotext document.pdf output.txt\npdftotext document.pdf - | less  # Stream to stdout\n```\n\n### Extract Images\n```bash\npdfimages -png document.pdf image_prefix\n```\n\n### Split PDF\n```bash\npdfseparate document.pdf page_%03d.pdf\n```\n\n### Merge PDFs\n```bash\npdfunite file1.pdf file2.pdf file3.pdf merged.pdf\n```\n\n### Convert to HTML\n```bash\npdftohtml document.pdf output.html\n```\n\n### Convert to Images\n```bash\npdftoppm -png -r 300 document.pdf output_prefix\n```\n\n---\n\n## Tool Details\n\nSee individual documentation files in the `tools/` folder for detailed usage:\n\n- [pdfattach](./tools/pdfattach.md) - Attach files to a PDF\n- [pdfdetach](./tools/pdfdetach.md) - Extract attachments from a PDF\n- [pdffonts](./tools/pdffonts.md) - Analyze fonts in a PDF\n- [pdfimages](./tools/pdfimages.md) - Extract images from a PDF\n- [pdfinfo](./tools/pdfinfo.md) - Get PDF metadata and information\n- [pdfseparate](./tools/pdfseparate.md) - Split PDF into individual pages\n- [pdfsig](./tools/pdfsig.md) - Verify digital signatures\n- [pdftocairo](./tools/pdftocairo.md) - Convert PDF to Cairo formats\n- [pdftohtml](./tools/pdftohtml.md) - Convert PDF to HTML\n- [pdftoppm](./tools/pdftoppm.md) - Convert PDF to PPM/PNG images\n- [pdftops](./tools/pdftops.md) - Convert PDF to PostScript\n- [pdftotext](./tools/pdftotext.md) - Extract text from PDF\n- [pdfunite](./tools/pdfunite.md) - Merge multiple PDFs\n\n---\n\n## Common Options\n\nMany tools share common options:\n\n| Option | Description |\n|--------|-------------|\n| `-opw <password>` | Owner password (bypasses all security) |\n| `-upw <password>` | User password |\n| `-v` | Print version information |\n| `-h` | Print help |\n\n---\n\n## Notes\n\n- All tools follow the convention: `tool [options] input.pdf [output]`\n- Use `-` as filename to read from stdin / write to stdout\n- Exit codes: 0=success, 1=error opening PDF, 2=error opening output, 3=permission error, 99=other error\n\n---\n\n**Reference:** [Debian manpages](https://manpages.debian.org/testing/poppler-utils/index.html)\n","topics":["PDF"],"tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":978,"installsAllTime":37,"installsCurrent":3,"stars":1,"versions":1},"createdAt":1772294359742,"updatedAt":1778993989047},"latestVersion":{"version":"1.0.0","createdAt":1772294359742,"changelog":"Initial release: 13 PDF tools (pdfinfo, pdftotext, pdffonts, pdfimages, pdfdetach, pdfseparate, pdfunite, pdfsig, pdftohtml, pdftoppm, pdftocairo, pdftops, pdfattach)","license":null},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"xlionjuan","userId":"s17494te3sdtxxv82477b1qvbd8840tp","displayName":"XLion","image":"https://avatars.githubusercontent.com/u/25243894?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1779967888243}}