Repository navigation
Extract Pages
huzpsb edited this page Oct 25, 2026
·
1 revision
Export selected pages as single-page PDFs.
pdfcpu2 extract -m page in.pdf outDir # every page
pdfcpu2 extract -m page -p 3 in.pdf outDir # page 3 -> in_3.pdf
pdfcpu2 extract -m page -p 3 in.pdf - # page 3 to STDOUT (needs exactly one page)The stdout form makes it pipe-friendly:
aws s3 cp s3://bucket/contract.pdf - \
| pdfcpu2 extract -m page -p 3 - - \
| aws s3 cp - s3://bucket/pages/contract-page-3.pdfpackage main
import (
"context"
"io"
"os"
"github.com/huzpsb/pdfcpu2/pkg/api"
"github.com/huzpsb/pdfcpu2/pkg/pdfcpu/model"
)
func main() {
ctx := context.Background()
conf := model.NewDefaultConfiguration()
f, _ := os.Open("in.pdf")
defer f.Close()
err := api.ExtractPages(ctx, f, []string{"3"}, func(r io.Reader, pageNr int) error {
out, _ := os.Create("page3.pdf")
defer out.Close()
_, err := io.Copy(out, r)
return err
}, conf)
if err != nil {
panic(err)
}
// Or to disk
_ = api.ExtractPagesFile(ctx, "in.pdf", "./pages", []string{"1-3"}, conf)
}Related: Trim (keep selection in one file), Split (span-based), Collect (custom sequence).
pdfcpu2 wiki
Getting started
Fork features
Inspect
Document
Pages
Content
Extract
Resources
Security
Viewer
Trust
Developers