[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5142":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":24,"topics":25,"createdAt":9,"pushedAt":9,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":15,"starSnapshotCount":15,"syncStatus":38,"lastSyncTime":39,"discoverSource":40},5142,"pdfcpu","pdfcpu\u002Fpdfcpu","PDF tooling for Go and the command line.","http:\u002F\u002Fpdfcpu.io\u002F",null,"Go",8668,617,83,139,0,1,3,61,4,73.97,"Apache License 2.0",false,"master",true,[26,27,28,29,30,31,32,33,34],"go","golang","golang-library","pdf","pdf-files","pdf-lib","pdf-processor","pdflib","processor","2026-06-12 04:00:24","# pdfcpu: a PDF processor written in Go with CLI and API support\n\n[![Test](https:\u002F\u002Fgithub.com\u002Fpdfcpu\u002Fpdfcpu\u002Fworkflows\u002FTest\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fpdfcpu\u002Fpdfcpu\u002Factions)\n[![Coverage Status](https:\u002F\u002Fcoveralls.io\u002Frepos\u002Fgithub\u002Fpdfcpu\u002Fpdfcpu\u002Fbadge.svg?branch=master)](https:\u002F\u002Fcoveralls.io\u002Fgithub\u002Fpdfcpu\u002Fpdfcpu?branch=master)\n[![Go Reference](https:\u002F\u002Fpkg.go.dev\u002Fbadge\u002Fgithub.com\u002Fpdfcpu\u002Fpdfcpu.svg)](https:\u002F\u002Fpkg.go.dev\u002Fgithub.com\u002Fpdfcpu\u002Fpdfcpu)\n[![Go Report Card](https:\u002F\u002Fgoreportcard.com\u002Fbadge\u002Fgithub.com\u002Fpdfcpu\u002Fpdfcpu)](https:\u002F\u002Fgoreportcard.com\u002Freport\u002Fgithub.com\u002Fpdfcpu\u002Fpdfcpu)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache%202.0-blue.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n[![Sponsor](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSponsor-GitHub-%23fe8e86?logo=githubsponsors)](https:\u002F\u002Fgithub.com\u002Fsponsors\u002Fhhrutter)\n\n\u003Cp align=\"left\">\n  \u003Ca href=\"https:\u002F\u002Fpdfcpu.io\">\u003Cimg src=\"resources\u002FlogoSmall.png\" width=\"150\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpdfa.org\">\u003Cimg src=\"resources\u002Fpdfa.png\" width=\"75\">\u003C\u002Fa>\n\u003C\u002Fp>\n\npdfcpu is a PDF processing library written in Go.\n\nIt is compatible with all PDF versions. Support for PDF 2.0 (ISO-32000-2) is evolving and continuously improving.\n\n---\n\n## Installation\n\n### CLI\n\n👉  [CLI Installation instructions](https:\u002F\u002Fpdfcpu.io\u002Fgetting_started\u002Finstall_cli\u002F?src=github-readme)\n\n\n### Go API\n\n\n👉 [API Installation instructions](https:\u002F\u002Fpdfcpu.io\u002Fgetting_started\u002Finstall_api\u002F?src=github-readme)\n\n\n---\n\n## Usage\n\n### CLI\n\nValidate against PDF 2.0 (ISO-32000-2):\n```\npdfcpu validate input.pdf\n```\n\nMerge two PDFs:\n```\npdfcpu merge out.pdf in1.pdf in2.pdf\n```\n\n### Go API\n\nSee API documentation for usage examples.\n\n---\n\n## Features\n\n* Validate, optimize, split, trim, and merge PDFs\n* Extract and manipulate images, fonts, and metadata\n* Encrypt and decrypt PDFs\n* Resize and rotate pages\n* Add and remove stamps and watermarks\n* Manage digital signatures (ongoing work)\n* Manage attachments and more...\n\n## In Action\n\nCommon operations and examples:\n\n\u003Cp align=\"center\">\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fgrid\">\u003Cimg src=\"resources\u002Fgridpdf.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>&nbsp;\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fwatermark\">\u003Cimg src=\"resources\u002Fwmi1abs.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>&nbsp;\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fnup\">\u003Cimg src=\"resources\u002Fnup9pdf.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>&nbsp;\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Ffonts\u002Ffonts\">\u003Cimg src=\"resources\u002Fcjkv.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>&nbsp;\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fstamp\">\u003Cimg src=\"resources\u002F4exp.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>&nbsp;\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fform\u002Fform\">\u003Cimg src=\"resources\u002Fform.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>\u003Cbr>\u003Cbr>\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fcreate\">\u003Cimg src=\"resources\u002Ftable.png\" height=\"100\">\u003C\u002Fa>\u003C\u002Fkbd>&nbsp;\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fstamp\">\u003Cimg src=\"resources\u002Fsti.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>&nbsp;\n  \u003Ckbd>\u003Cimg src=\"resources\u002Fhold3.png\" height=\"150\">\u003C\u002Fkbd>&nbsp;\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fwatermark\">\u003Cimg src=\"resources\u002Fwmi4.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>&nbsp;\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fcreate\">\u003Cimg src=\"resources\u002Fimagebox.png\" height=\"100\">\u003C\u002Fa>\u003C\u002Fkbd>&nbsp;\u003Cbr>\u003Cbr>\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fbooklet\">\u003Cimg src=\"resources\u002Fbook2A4p1.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fstamp\">\u003Cimg src=\"resources\u002Fstp.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>&nbsp;\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fgrid\">\u003Cimg src=\"resources\u002Fgridimg.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fstamp\">\u003Cimg src=\"resources\u002FstRoundBorder.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>\n  \u003Ckbd>\u003Ca href=\"https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fbooklet\">\u003Cimg src=\"resources\u002Fbook4A4p1.png\" height=\"150\">\u003C\u002Fa>\u003C\u002Fkbd>\n\u003C\u002Fp>\n\n---\n\n## Command Set\n\nComplete list of supported commands:\n\n| | | |\n|---|---|---|\n| [annotations](https:\u002F\u002Fpdfcpu.io\u002Fannot\u002Fannot) | [attachments](https:\u002F\u002Fpdfcpu.io\u002Fattach\u002Fattach) | [booklet](https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fbooklet) |\n| [bookmarks](https:\u002F\u002Fpdfcpu.io\u002Fbookmarks\u002Fbookmarks) | [boxes](https:\u002F\u002Fpdfcpu.io\u002Fboxes\u002Fboxes) | [certificates](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fcerts) |\n| [change owner password](https:\u002F\u002Fpdfcpu.io\u002Fencrypt\u002Fchange_opw) | [change user password](https:\u002F\u002Fpdfcpu.io\u002Fencrypt\u002Fchange_upw) | [collect](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fcollect) |\n| [config](https:\u002F\u002Fpdfcpu.io\u002Fconfig\u002Fconfig) | [create](https:\u002F\u002Fpdfcpu.io\u002Fcreate\u002Fcreate) | [crop](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fcrop) |\n| [cut](https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fcut) | [decrypt](https:\u002F\u002Fpdfcpu.io\u002Fencrypt\u002FdecryptPDF) | [encrypt](https:\u002F\u002Fpdfcpu.io\u002Fencrypt\u002FencryptPDF) |\n| [extract](https:\u002F\u002Fpdfcpu.io\u002Fextract\u002Fextract) | [fonts](https:\u002F\u002Fpdfcpu.io\u002Ffonts\u002Ffonts) | [form](https:\u002F\u002Fpdfcpu.io\u002Fform\u002Fform) |\n| [grid](https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fgrid) | [images](https:\u002F\u002Fpdfcpu.io\u002Fimages\u002Fimages) | [import](https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fimport) |\n| [info](https:\u002F\u002Fpdfcpu.io\u002Finfo) | [keywords](https:\u002F\u002Fpdfcpu.io\u002Fkeywords\u002Fkeywords) | [merge](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fmerge) |\n| [ndown](https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fndown) | [nup](https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fnup) | [optimize](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Foptimize) |\n| [pagelayout](https:\u002F\u002Fpdfcpu.io\u002Fpagelayout\u002Fpagelayout) | [pagemode](https:\u002F\u002Fpdfcpu.io\u002Fpagemode\u002Fpagemode) | [pages](https:\u002F\u002Fpdfcpu.io\u002Fpages\u002Fpages) |\n| [permissions](https:\u002F\u002Fpdfcpu.io\u002Fencrypt\u002Fperm_set) | [portfolio](https:\u002F\u002Fpdfcpu.io\u002Fportfolio\u002Fportfolio) | [poster](https:\u002F\u002Fpdfcpu.io\u002Fgenerate\u002Fposter) |\n| [properties](https:\u002F\u002Fpdfcpu.io\u002Fproperties\u002Fproperties) | [resize](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fresize) | [rotate](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Frotate) |\n| [signatures](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fsign) | [split](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fsplit) | [stamp](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fstamp) |\n| [trim](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Ftrim) | [validate](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fvalidate) | [viewerpref](https:\u002F\u002Fpdfcpu.io\u002Fviewerpref\u002Fviewerpref) |\n| [watermark](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fwatermark) | [zoom](https:\u002F\u002Fpdfcpu.io\u002Fcore\u002Fzoom) | |\n\n---\n\n## Motivation\n\npdfcpu aims to provide comprehensive PDF processing capabilities implemented in Go.\n\nIt focuses on correctness, robustness and independence from external dependencies.\n\n---\n\n## Focus\n\n- comprehensive PDF processing functionality  \n- minimal external dependencies  \n- predictable and stable behavior  \n\n---\n\n## Documentation\n\n* Project documentation: https:\u002F\u002Fpdfcpu.io\n\n### CLI\n\n* Command help: `pdfcpu [command] --help`\n\n### Go API\n\n* Package documentation: https:\u002F\u002Fpkg.go.dev\u002Fgithub.com\u002Fpdfcpu\u002Fpdfcpu\n* API documentation: https:\u002F\u002Fpkg.go.dev\u002Fgithub.com\u002Fpdfcpu\u002Fpdfcpu\u002Fpkg\u002Fapi\n* Examples:\n\n  * https:\u002F\u002Fgithub.com\u002Fpdfcpu\u002Fpdfcpu\u002Ftree\u002Fmaster\u002Fpkg\u002Fapi\u002Ftest\n  * https:\u002F\u002Fgithub.com\u002Fpdfcpu\u002Fpdfcpu\u002Ftree\u002Fmaster\u002Fpkg\u002Fsamples\n\n---\n\n## Contributing\n\nContributions are welcome.\n\n* Report bugs or propose changes via [issues](https:\u002F\u002Fgithub.com\u002Fpdfcpu\u002Fpdfcpu\u002Fissues\u002Fnew\u002Fchoose)\n* Discuss ideas on the [discussion board](https:\u002F\u002Fgithub.com\u002Fpdfcpu\u002Fpdfcpu\u002Fdiscussions)\n* For PRs, please open an issue or discussion first\nv\n### Guidelines\n\n* Base your work on the latest commit\n* Include verbose output (`pdfcpu cmd -vv ...`) and a sample PDF when reporting issues\n* Please sign your commits\n\n### Reporting crashes\n\nCrashes may occur due to the wide variety of PDF producers and formats in use, including older or non-compliant files. In many cases this is related to validation issues or edge cases in the parser.\n\nEven with relaxed validation, some files cannot be processed. These cases are essential for improving pdfcpu by extending validation and handling additional real-world PDFs.\n\nIf you encounter a crash, please report it.\n\nStart by validating the file using the CLI:\n\n```bash\npdfcpu validate -vv \u003Cfile.pdf>\n```\n\nInclude in your report:\n\n* the command used\n* verbose output (`-vv`)\n* a sanitized sample PDF\n\nIf validation crashes for a PDF that opens in Adobe Reader or macOS Preview, it is likely we can extend relaxed validation and provide a fix.\n\nIf the file cannot be opened by both Adobe Reader and macOS Preview, we cannot support it.\n\nPlease include a sample PDF to reproduce the issue whenever possible.\n\n---\n\n## Contributors\n\nThanks 💚 to all contributors:\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n\n||||||||\n| :---: | :---: | :---: | :---: | :---: |  :---: | :---: |\n| [\u003Cimg src=\"https:\u002F\u002Favatars1.githubusercontent.com\u002Fu\u002F11322155?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Horst Rutter\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fhhrutter) | [\u003Cimg src=\"https:\u002F\u002Favatars0.githubusercontent.com\u002Fu\u002F5140211?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>haldyr\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fhaldyr) | [\u003Cimg src=\"https:\u002F\u002Favatars3.githubusercontent.com\u002Fu\u002F20608155?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Vyacheslav\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002FSimePel) | [\u003Cimg src=\"https:\u002F\u002Favatars1.githubusercontent.com\u002Fu\u002F617459?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Erik Unger\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fungerik) | [\u003Cimg src=\"https:\u002F\u002Favatars1.githubusercontent.com\u002Fu\u002F13079058?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Richard Wilkes\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Frichardwilkes) | [\u003Cimg src=\"https:\u002F\u002Favatars1.githubusercontent.com\u002Fu\u002F16303386?s=400&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>minenok-tutu\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fminenok-tutu) | [\u003Cimg src=\"https:\u002F\u002Favatars0.githubusercontent.com\u002Fu\u002F1965445?s=400&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Mateusz Burniak\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fmatbur) |\n| [\u003Cimg src=\"https:\u002F\u002Favatars2.githubusercontent.com\u002Fu\u002F1175110?s=400&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Dmitry Harnitski\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fdharnitski) | [\u003Cimg src=\"https:\u002F\u002Favatars0.githubusercontent.com\u002Fu\u002F1074083?s=400&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>ryarnyah\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fryarnyah) | [\u003Cimg src=\"https:\u002F\u002Favatars0.githubusercontent.com\u002Fu\u002F13267?s=400&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Sam Giffney\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fs01ipsist) | [\u003Cimg src=\"https:\u002F\u002Favatars3.githubusercontent.com\u002Fu\u002F32948066?s=400&v=4\" width=\"100px\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Carlos Eduardo Witte\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fcewitte) | [\u003Cimg src=\"https:\u002F\u002Favatars1.githubusercontent.com\u002Fu\u002F2374948?s=400&u=a36e5f8da8dc1c102bc4d283f25e4c61cae7f985&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>minusworld\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fminusworld) | [\u003Cimg src=\"https:\u002F\u002Favatars0.githubusercontent.com\u002Fu\u002F18538487?s=400&u=b9e628dfc60f672a887be2ed04a791195829943e&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Witold Konior\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fjozuenoon) | [\u003Cimg src=\"https:\u002F\u002Favatars0.githubusercontent.com\u002Fu\u002F630151?s=400&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>joonas.fi\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fjoonas-fi) |\n| [\u003Cimg src=\"https:\u002F\u002Favatars3.githubusercontent.com\u002Fu\u002F10349817?s=400&u=93bacb23bd2909d5b6c5b644a8d4cdd947422ee1&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Henrik Reinstädtler\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fhenrixapp) | [\u003Cimg src=\"https:\u002F\u002Favatars1.githubusercontent.com\u002Fu\u002F72016286?s=400&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>VMorozov-wh\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002FVMorozov-wh) | [\u003Cimg src=\"https:\u002F\u002Favatars0.githubusercontent.com\u002Fu\u002F31929422?s=400&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Benoit KUGLER\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fbenoitkugler) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F704919?s=400&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Adam Greenhall\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fadamgreenhall) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5201812?s=400&u=8a0a9fca4560be71d4923299ddebf877854eea54&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>moritamori\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fmoritamori) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F41904529?s=400&u=044396494285ad806e86d1936c390b3071ce57c0&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>JanBaryla\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002FJanBaryla) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43145244?s=400&u=89a689f1a854ce0f57ae2a0333c82bfdc5723bb9&v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>TheDiscordian\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002FTheDiscordian) |\n| [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15472552?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Rafael Garcia Argente\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Frgargente) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F710057?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>truyet\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Ftruyet) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5031217?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Christian Nicola\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fchristiannicola) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F3233970?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Benjamin Krill\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fkben) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F26521615?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Peter Wyatt\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fpetervwyatt) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F3142701?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Kroum Tzanev\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fkpym) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F992878?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Stefan Huber\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fsignalwerk) |\n| [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F59667587?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Juan Iscar\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fjuaismar) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20135478?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Eng Zer Jun\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002FJuneezee) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F28459131?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Dmitry Ivanov\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fhant0508)|[\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16866547?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Rene Kaufmann\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002FHeavyHorst)|[\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F26827864?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Christian Heusel\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fchristian-heusel) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F305673?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Chris\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Ffreshteapot) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F2892794?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Lukasz Czaplinski\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fscoiatael) |\n[\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F49206635?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Joel Silva Schutz\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fjoelschutz) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F28219076?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>semvis123\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fsemvis123) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8717479?v=4\"  width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>guangwu\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Ftestwill) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4014912?v=4\"  width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Yoshiki Nakagawa\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fyyoshiki41) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F432860?v=4\"  width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Steve van Loben Sels\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fstevevls) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6083533?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Yaofu\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fmygityf) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15724278?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>vsenko\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fvsenko) |\n[\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16507?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Alexis Hildebrandt\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fafh) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1395040?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Sivukhin Nikita\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fsivukhin)  | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F247730?v=4\"  width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Joachim Bauch\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Ffancycode) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F127291996?v=4\"  width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>kalimit\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fkalimit) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5080535?v=4\"  width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Andreas Erhard\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fxelan) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F32378535?v=4\"  width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Matsumoto Toshi\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Ftoshi1127) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F440634?v=4\"  width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Carl Wilson\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fcarlwilson) |\n[\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9918222?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>LNAhri\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002FLNAhri) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F142796877?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>vishal\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fvishal-at) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F18169566?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Andreas Deininger\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fdeining) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5825735?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Robert Raines\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fsolintllc-robert) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F316176?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Frank Anderson\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Ffrob) |  [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20972350?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Sven Lilienthal\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002FSveLil) |  [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1900106?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Florian Kinder\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Ffank) |\n[\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F113192632?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>mdmcconnell\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fmdmcconnell) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F195061?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>Bradley Erickson\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002F13rac1) | [\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10998835?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>doronbehar\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fdoronbehar) |[\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F48005710?v=4\" width=\"100px\"\u002F>\u003Cbr\u002F>\u003Csub>\u003Cb>joeyave\u003C\u002Fb>\u003C\u002Fsub>](https:\u002F\u002Fgithub.com\u002Fjoeyave) ||||\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:END - Do not remove or modify this section -->\n\n---\n\n## Code of Conduct\n\nThis project is released with a Contributor [Code of Conduct](CODE_OF_CONDUCT.md).\nBy participating, you agree to abide by its terms.\n\n---\n## Disclaimer\n\nUse of pdfcpu assumes compliance with all applicable copyrights for any processed PDF content, including embedded resources such as fonts and images.\n\nGopher artwork by [Renee French](https:\u002F\u002Fwww.instagram.com\u002Freneefrenchphoto)\n\n---\n\n## License\n\nApache License 2.0\n\n---\n\n\u003Cimg referrerpolicy=\"no-referrer-when-downgrade\" src=\"https:\u002F\u002Fstatic.scarf.sh\u002Fa.png?x-pxid=592f747a-ac99-42e3-802a-80dbf2b94519\" width=\"1\" height=\"1\" \u002F>\n","pdfcpu 是一个用 Go 语言编写的 PDF 处理库，支持命令行界面（CLI）和 API 调用。其核心功能包括验证、优化、分割、裁剪和合并 PDF 文件，同时还能提取和操作图像、字体及元数据，加密解密 PDF，调整页面大小与旋转，添加或移除印章和水印等。此外，pdfcpu 兼容所有版本的 PDF，并且对 PDF 2.0 (ISO-32000-2) 的支持正在不断完善中。该工具适用于需要批量处理 PDF 文件的场景，如文档管理、电子书制作以及任何涉及 PDF 操作的应用程序开发。",2,"2026-06-11 03:02:46","top_language"]