{"id":36428277,"url":"https://github.com/benconda/php-pdfium","last_synced_at":"2026-01-11T18:25:08.867Z","repository":{"id":220137193,"uuid":"749092621","full_name":"benconda/php-pdfium","owner":"benconda","description":"Pdfium library implementation in PHP using FFI","archived":false,"fork":false,"pushed_at":"2025-05-21T16:47:38.000Z","size":3009,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-22T20:02:49.966Z","etag":null,"topics":["library","pdf","pdf-viewer","pdfium","php"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benconda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-27T15:12:07.000Z","updated_at":"2025-05-21T16:47:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"332be1a9-87e1-4921-a3af-e731988b6033","html_url":"https://github.com/benconda/php-pdfium","commit_stats":null,"previous_names":["benconda/php-pdfium"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/benconda/php-pdfium","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benconda%2Fphp-pdfium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benconda%2Fphp-pdfium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benconda%2Fphp-pdfium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benconda%2Fphp-pdfium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benconda","download_url":"https://codeload.github.com/benconda/php-pdfium/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benconda%2Fphp-pdfium/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28317702,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T14:58:17.114Z","status":"ssl_error","status_checked_at":"2026-01-11T14:55:53.580Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["library","pdf","pdf-viewer","pdfium","php"],"created_at":"2026-01-11T18:25:08.197Z","updated_at":"2026-01-11T18:25:08.858Z","avatar_url":"https://github.com/benconda.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Packagist Version](https://img.shields.io/packagist/v/benconda/php-pdfium)](https://packagist.org/packages/benconda/php-pdfium)\n\n# Experimental\n\nThis is a first attempt to implement PDFium in PHP using FFI.\nPdfium is a C++ library supported by Google team to render, manipulate and extract data from PDF.\n\nContribution are welcome.\n\n# Currently working\n\nOn PDF Document :\n* Getting page count\n* Iterate through Document pages\n\nOn each Page : \n* Get pages size in point\n* Render a page into a .png \n* Iterate through page annotations\n* Iterate through page fields\n\nOn each Annotation :\n* Get the annotation type (enum) and index\n\nOn each FormField :\n* Get the type (enum), value, name, alternateName, exportValue, formControlCount, formControlIndex, isChecked (for checkbox and radiobutton)\n\n**About page rendering, this only works thanks to libvips integration, it's the only way to get a fast rendering**\n\nFeel free to look in the tests to know how it works.\n\n# Remaining works\n\nThere is still a lot of work to do, could be great to have the ability to edit PDF files.\nAt least for adding forms fields on page, and fill them.\n\n# Development\n\nHere is the Google pdfium repository https://pdfium.googlesource.com/pdfium/+/refs/heads/main there is some tests and C samples inside. \n\nThe public directory contains the headers, that we have access in this repository docker image (take a look at the Dockerfile)\n\nNote : We use pre-compiled libraries for pdfium and libvips for simplicity.\n\nOn Docker image build, libraries headers are available in `/usr/lib-pdfium` and `/usr/lib-vips` directories\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenconda%2Fphp-pdfium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenconda%2Fphp-pdfium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenconda%2Fphp-pdfium/lists"}