{"id":21306162,"url":"https://github.com/brlin-tw/pdf-toc-to-gfm-tasklist","last_synced_at":"2026-04-12T02:36:05.487Z","repository":{"id":220759474,"uuid":"751404714","full_name":"brlin-tw/pdf-toc-to-gfm-tasklist","owner":"brlin-tw","description":"(MIRRORED FROM GITLAB) Extract the table of content(ToC) from a PDF document into a GitHub-flavored markdown(GFM) task list markup","archived":false,"fork":false,"pushed_at":"2024-02-04T18:40:32.000Z","size":461,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-19T07:55:11.889Z","etag":null,"topics":["markdown","pdf","pypdf2","toc-generator"],"latest_commit_sha":null,"homepage":"https://gitlab.com/brlin/pdf-toc-to-gfm-tasklist","language":"Shell","has_issues":false,"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/brlin-tw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSES/AGPL-3.0-or-later.txt","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}},"created_at":"2024-02-01T14:49:06.000Z","updated_at":"2024-04-12T12:44:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"23a24d0e-7b47-4003-9c5f-0eabcef5a10a","html_url":"https://github.com/brlin-tw/pdf-toc-to-gfm-tasklist","commit_stats":null,"previous_names":["brlin-tw/pdf-toc-to-gfm-tasklist"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/brlin-tw/pdf-toc-to-gfm-tasklist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brlin-tw%2Fpdf-toc-to-gfm-tasklist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brlin-tw%2Fpdf-toc-to-gfm-tasklist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brlin-tw%2Fpdf-toc-to-gfm-tasklist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brlin-tw%2Fpdf-toc-to-gfm-tasklist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brlin-tw","download_url":"https://codeload.github.com/brlin-tw/pdf-toc-to-gfm-tasklist/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brlin-tw%2Fpdf-toc-to-gfm-tasklist/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31702580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T21:17:31.016Z","status":"online","status_checked_at":"2026-04-12T02:00:06.763Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["markdown","pdf","pypdf2","toc-generator"],"created_at":"2024-11-21T16:22:05.047Z","updated_at":"2026-04-12T02:36:05.461Z","avatar_url":"https://github.com/brlin-tw.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PDF ToC to GFM tasklist\n\nExtract the table of content(ToC) from a PDF document into a GitHub-flavored markdown(GFM) task list markup\n\n\u003chttps://gitlab.com/brlin/pdf-toc-to-gfm-tasklist\u003e  \n[![The GitLab CI pipeline status badge of the project's `main` branch](https://gitlab.com/brlin/pdf-toc-to-gfm-tasklist/badges/main/pipeline.svg?ignore_skipped=true \"Click here to check out the comprehensive status of the GitLab CI pipelines\")](https://gitlab.com/brlin/pdf-toc-to-gfm-tasklist/-/pipelines) [![GitHub Actions workflow status badge](https://github.com/brlin-tw/pdf-toc-to-gfm-tasklist/actions/workflows/check-potential-problems.yml/badge.svg \"GitHub Actions workflow status\")](https://github.com/brlin-tw/pdf-toc-to-gfm-tasklist/actions/workflows/check-potential-problems.yml) [![pre-commit enabled badge](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white \"This project uses pre-commit to check potential problems\")](https://pre-commit.com/) [![REUSE Specification compliance badge](https://api.reuse.software/badge/gitlab.com/brlin/pdf-toc-to-gfm-tasklist \"This project complies to the REUSE specification to decrease software licensing costs\")](https://api.reuse.software/info/gitlab.com/brlin/pdf-toc-to-gfm-tasklist)\n\n![Usage demonstration screenshot](doc-assets/usage-demonstration.png \"Usage demonstration\")\n\n## Prerequisites\n\nBefore running this software, the following prerequites must be satisfied:\n\n* [Python](https://python.org)  \n  The runtime environment, currently only tested on 3.11.  The `python3` compatibility executable must be available in your command search PATHs.\n* A recent version of [PyPDF2](https://pypi.org/project/PyPDF2/)  \n  The python library for operating the input PDF file, currently only tested on version 2.12.\n\n## Usage\n\nThe following usage instructions assumes you are using a Unix-like operating system, instructions may not fully apply to other operating systems.\n\n1. Download the release package from [the project's Releases page](https://gitlab.com/brlin/pdf-toc-to-gfm-tasklist/-/releases)\n1. Extract the release package\n1. Edit [the pdf-toc-to-gfm-tasklist.py Python program](pdf-toc-to-gfm-tasklist.py) using a text editor, edit [the `open()` call](https://gitlab.com/brlin/pdf-toc-to-gfm-tasklist/-/blob/da4e5abc1ad5be7c7a8e0a9824a1c4d18beef764/pdf-toc-to-gfm-tasklist.py#L29) to load the correct input PDF file to extract ToC from and save the file\n1. Launch a text terminal application\n1. Run the following command(with all the placeholder texts replaced) to switch the working directory to the extracted release package directory:\n\n    ```bash\n    cd /path/to/pdf-toc-to-gfm-tasklist-X.Y.Z\n    ```\n\n1. Run the following command to execute the ToC extraction utility, the converted ToC Markdown tasklist markup will be printed to the standard output device:\n\n    ```bash\n    ./pdf-toc-to-gfm-tasklist.py\n    ```\n\n   You may also use the I/O redirection functionality of your shell(e.g. Bash) to write the output to a file:\n\n    ```bash\n    ./pdf-toc-to-gfm-tasklist.py \u003e toc.md\n    ```\n\n   Note that the I/O redirection syntax may be different for different shells, refer their user manual for more information.\n\nHave fun!\n\n## References\n\nThis section documents the third-party resources that this project has referenced:\n\n* [PDF to GFM Conversion | ChatGPT](https://chat.openai.com/share/f51c809a-c0c5-4eee-babd-5f63ec13195b)  \n  The discussion thread to render the utility prototype\n\n## Licensing\n\nUnless otherwise noted(individual file's header/[REUSE DEP5](.reuse/dep5)), this product is licensed under [version 3 of The GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.html), or any of its more recent versions of your preference.\n\nThis work complies to the [REUSE Specification](https://reuse.software/spec/), refer the [REUSE - Make licensing easy for everyone](https://reuse.software/) website for info regarding the licensing of this product.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrlin-tw%2Fpdf-toc-to-gfm-tasklist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrlin-tw%2Fpdf-toc-to-gfm-tasklist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrlin-tw%2Fpdf-toc-to-gfm-tasklist/lists"}