{"id":33485055,"url":"https://github.com/docling-project/docling-java","last_synced_at":"2026-01-25T18:15:00.117Z","repository":{"id":318978177,"uuid":"1073670257","full_name":"docling-project/docling-java","owner":"docling-project","description":"A Java API for Docling","archived":false,"fork":false,"pushed_at":"2026-01-22T19:47:04.000Z","size":5365,"stargazers_count":70,"open_issues_count":9,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-23T12:20:20.591Z","etag":null,"topics":["ai","docling","java","rag"],"latest_commit_sha":null,"homepage":"https://docling-project.github.io/docling-java/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/docling-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":"dco.txt","cla":null}},"created_at":"2025-10-10T12:57:05.000Z","updated_at":"2026-01-23T09:49:05.000Z","dependencies_parsed_at":"2025-10-17T14:35:11.732Z","dependency_job_id":"d3bc4a1d-9ce0-4ef5-a135-afdb6e959e5c","html_url":"https://github.com/docling-project/docling-java","commit_stats":null,"previous_names":["docling-project/docling-java"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/docling-project/docling-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docling-project%2Fdocling-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docling-project%2Fdocling-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docling-project%2Fdocling-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docling-project%2Fdocling-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/docling-project","download_url":"https://codeload.github.com/docling-project/docling-java/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docling-project%2Fdocling-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28756433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T16:32:25.380Z","status":"ssl_error","status_checked_at":"2026-01-25T16:32:09.189Z","response_time":113,"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":["ai","docling","java","rag"],"created_at":"2025-11-25T16:00:34.264Z","updated_at":"2026-01-25T18:15:00.111Z","avatar_url":"https://github.com/docling-project.png","language":"Java","readme":"# Welcome to the Docling Java Project!\n\n![Docling Java](docs/src/doc/docs/assets/img/docling-java.png)\n\nThis is the repository for Docling Java, a Java API for using [Docling](https://github.com/docling-project).\n\n[![Docs](https://img.shields.io/badge/docs-live-brightgreen)](https://docling-project.github.io/docling-java/)\n[![docling-core version](https://img.shields.io/maven-central/v/ai.docling/docling-core?label=docling-core\n)](https://docling-project.github.io/docling-java/dev/core)\n[![docling-serve-api version](https://img.shields.io/maven-central/v/ai.docling/docling-serve-api?label=docling-serve-api\n)](https://docling-project.github.io/docling-java/dev/docling-serve/serve-api/)\n[![docling-serve-client version](https://img.shields.io/maven-central/v/ai.docling/docling-serve-client?label=docling-serve-client)](https://docling-project.github.io/docling-java/dev/docling-serve/serve-client/)\n[![docling-testcontainers version](https://img.shields.io/maven-central/v/ai.docling/docling-testcontainers?label=docling-testcontainers)](https://docling-project.github.io/docling-java/dev/testcontainers/)\n[![License MIT](https://img.shields.io/github/license/docling-project/docling-java)](https://opensource.org/licenses/MIT)\n[![Discord](https://img.shields.io/discord/1399788921306746971?color=6A7EC2\u0026logo=discord\u0026logoColor=ffffff)](https://docling.ai/discord)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/11397/badge)](https://www.bestpractices.dev/projects/11397)\n\n[Docling](https://github.com/docling-project) simplifies document processing, parsing diverse formats, including advanced PDF understanding, and providing seamless integrations with the Generative AI ecosystem.\n\n## Features\n\n* 🗂️ Parsing of [multiple document formats][supported_formats] incl. PDF, DOCX, PPTX, XLSX, HTML, WAV, MP3, VTT, images (PNG, TIFF, JPEG, ...), and more\n* 📑 Advanced PDF understanding incl. page layout, reading order, table structure, code, formulas, image classification, and more\n* 🧬 Unified, expressive [DoclingDocument][docling_document] representation format\n* ↪️ Various [export formats][supported_formats] and options, including Markdown, HTML, [DocTags](https://arxiv.org/abs/2503.11576) and lossless JSON\n* 🔒 Local execution capabilities for sensitive data and air-gapped environments\n* 🤖 Plug-and-play [integrations][integrations] including [LangChain4j](https://docs.langchain4j.dev/)\n* 🔍 Extensive OCR support for scanned PDFs and images\n* 👓 Support of several Visual Language Models ([GraniteDocling](https://huggingface.co/ibm-granite/granite-docling-258M))\n* 🎙️ Audio support with Automatic Speech Recognition (ASR) models\n\n## Documentation\n\n[See the documentation](https://docling-project.github.io/docling-java/) for complete information on the [various artifacts](#artifacts) that are provided by this project.\n\n## Artifacts\n\nThis project provides the following artifacts:\n\n- [`docling-core`](docling-core): Java API for working with the data types used by Docling for document representation (see [Docling Core](https://github.com/docling-project/docling-core)).\n- [`docling-serve-api`](docling-serve/docling-serve-api): Java API for interacting with a [Docling Serve](https://github.com/docling-project/docling-serve) backend. It's framework‑agnostic.\n* [`docling-serve-client`](docling-serve/docling-serve-client): A reference implementation of the [`docling-serve-api`](docling-serve/docling-serve-api) using Java's [`HttpClient`](https://openjdk.org/groups/net/httpclient/intro.html) and [Jackson](https://github.com/FasterXML/jackson) to connect to a [Docling Serve](https://github.com/docling-project/docling-serve) endpoint.\n* [`docling-testing`](docling-testing): Utilities for testing Docling integration.\n* [`docling-testcontainers`](docling-testcontainers): A [Testcontainers module](https://testcontainers.com/) for running Docling in a Docker container.\n\n## Getting started\n\nUse `DoclingServeApi.convertSource()` to convert individual documents (make sure both `docling-serve-api` and `docling-serve-client` are on your classpath).\n\nFor example:\n\n```java\nimport ai.docling.serve.api.DoclingServeApi;\nimport ai.docling.serve.api.convert.request.ConvertDocumentRequest;\nimport ai.docling.serve.api.convert.request.source.HttpSource;\nimport ai.docling.serve.api.convert.response.ConvertDocumentResponse;\n\nDoclingServeApi doclingServeApi = DoclingServeApi.builder()\n    .baseUrl(\"\u003clocation of docling serve instance\u003e\")\n    .build();\n\nConvertDocumentRequest request = ConvertDocumentRequest.builder()\n    .source(\n        HttpSource.builder()\n            .url(URI.create(\"https://arxiv.org/pdf/2408.09869\"))\n            .build()\n    )\n    .build();\n\nConvertDocumentResponse response = doclingServeApi.convertSource(request);\nSystem.out.println(response.getDocument().getMarkdownContent());\n```\n\nMore [usage information](https://docling-project.github.io/docling-java) is available in the docs.\n\n## Get help and support\n\nPlease feel free to connect with us using the [discussion section](https://github.com/docling-project/docling-java/discussions).\n\n## Contributing\n\nPlease read [Contributing to Docling Java](CONTRIBUTING.md) for details.\n\n## License\n\nThe Docling codebase is under MIT license.\nFor individual model usage, please refer to the model licenses found in the original packages.\n\n### IBM ❤️ Open Source AI\n\nThe project was started by the AI for knowledge team at IBM Research Zurich.\n\n[supported_formats]: https://docling-project.github.io/docling/usage/supported_formats/\n[docling_document]: https://docling-project.github.io/docling/concepts/docling_document/\n[integrations]: https://docling-project.github.io/docling/integrations/\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://developers.redhat.com/author/eric-deandrea\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/363447?v=4?s=100\" width=\"100px;\" alt=\"Eric Deandrea\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEric Deandrea\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#code-edeandrea\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#content-edeandrea\" title=\"Content\"\u003e🖋\u003c/a\u003e \u003ca href=\"#doc-edeandrea\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#ideas-edeandrea\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#infra-edeandrea\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#maintenance-edeandrea\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#projectManagement-edeandrea\" title=\"Project Management\"\u003e📆\u003c/a\u003e \u003ca href=\"#test-edeandrea\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"#review-edeandrea\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://thomasvitale.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8523418?v=4?s=100\" width=\"100px;\" alt=\"Thomas Vitale\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eThomas Vitale\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#code-ThomasVitale\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#content-ThomasVitale\" title=\"Content\"\u003e🖋\u003c/a\u003e \u003ca href=\"#doc-ThomasVitale\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#ideas-ThomasVitale\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#infra-ThomasVitale\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#maintenance-ThomasVitale\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e \u003ca href=\"#projectManagement-ThomasVitale\" title=\"Project Management\"\u003e📆\u003c/a\u003e \u003ca href=\"#test-ThomasVitale\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"#review-ThomasVitale\" title=\"Reviewed Pull Requests\"\u003e👀\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://www.lordofthejars.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1517153?v=4?s=100\" width=\"100px;\" alt=\"Alex Soto\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAlex Soto\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-lordofthejars\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#projectManagement-lordofthejars\" title=\"Project Management\"\u003e📆\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://ibm.biz/cesar-berrospi\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/75900930?v=4?s=100\" width=\"100px;\" alt=\"Cesar Berrospi Ramis\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCesar Berrospi Ramis\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-ceberam\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://ibm.biz/michele-dolfi\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/97102151?v=4?s=100\" width=\"100px;\" alt=\"Michele Dolfi\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMichele Dolfi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#design-dolfim-ibm\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"#ideas-dolfim-ibm\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#infra-dolfim-ibm\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"#question-dolfim-ibm\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://oscerd.github.io\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5106647?v=4?s=100\" width=\"100px;\" alt=\"Andrea Cosentino\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAndrea Cosentino\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#design-oscerd\" title=\"Design\"\u003e🎨\u003c/a\u003e \u003ca href=\"#promotion-oscerd\" title=\"Promotion\"\u003e📣\u003c/a\u003e \u003ca href=\"#ideas-oscerd\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#code-oscerd\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#doc-oscerd\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/jmb-streamsets\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/91207515?v=4?s=100\" width=\"100px;\" alt=\"jmb-streamsets\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ejmb-streamsets\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-jmb-streamsets\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#design-jmb-streamsets\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/insectengine\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/928656?v=4?s=100\" width=\"100px;\" alt=\"insectengine\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003einsectengine\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#content-insectengine\" title=\"Content\"\u003e🖋\u003c/a\u003e \u003ca href=\"#design-insectengine\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/maxmnemonic\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/101627549?v=4?s=100\" width=\"100px;\" alt=\"Maxim Lysak\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMaxim Lysak\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#content-maxmnemonic\" title=\"Content\"\u003e🖋\u003c/a\u003e \u003ca href=\"#design-maxmnemonic\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/warnulf\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/4599260?v=4?s=100\" width=\"100px;\" alt=\"warnulf\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ewarnulf\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#bug-warnulf\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind are welcome!\n","funding_links":[],"categories":["人工智能"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdocling-project%2Fdocling-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdocling-project%2Fdocling-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdocling-project%2Fdocling-java/lists"}