Skip to content

docling-project/docling-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Welcome to the Docling Java Project!

This is the repository for Docling Java, a Java API for using Docling.

Docs docling-serve-api version docling-serve-client version docling-testcontainers version License MIT Discord OpenSSF Best Practices

Docling simplifies document processing, parsing diverse formats, including advanced PDF understanding, and providing seamless integrations with the Generative AI ecosystem.

Features

  • πŸ—‚οΈ Parsing of multiple document formats incl. PDF, DOCX, PPTX, XLSX, HTML, WAV, MP3, VTT, images (PNG, TIFF, JPEG, ...), and more
  • πŸ“‘ Advanced PDF understanding incl. page layout, reading order, table structure, code, formulas, image classification, and more
  • 🧬 Unified, expressive DoclingDocument representation format
  • β†ͺ️ Various export formats and options, including Markdown, HTML, DocTags and lossless JSON
  • πŸ”’ Local execution capabilities for sensitive data and air-gapped environments
  • πŸ€– Plug-and-play integrations including LangChain4j
  • πŸ” Extensive OCR support for scanned PDFs and images
  • πŸ‘“ Support of several Visual Language Models (GraniteDocling)
  • πŸŽ™οΈ Audio support with Automatic Speech Recognition (ASR) models

Documentation

See the documentation for complete information on the various artifacts that are provided by this project.

Artifacts

This project provides the following artifacts:

Getting started

Use DoclingServeApi.convertSource() to convert individual documents. For example:

import ai.docling.api.serve.DoclingServeApi;
import ai.docling.api.serve.convert.request.ConvertDocumentRequest;
import ai.docling.api.serve.convert.request.source.HttpSource;
import ai.docling.api.serve.convert.response.ConvertDocumentResponse;
import ai.docling.client.serve.DoclingServeClientBuilderFactory;

DoclingServeApi doclingServeApi = DoclingServeClientBuilderFactory.newBuilder()
    .baseUrl("<location of docling serve instance>")
    .build();

ConvertDocumentRequest request = ConvertDocumentRequest.builder()
    .sources(List.of(HttpSource.builder().url(URI.create("https://arxiv.org/pdf/2408.09869")).build()))
    .build();

ConvertDocumentResponse response = doclingServeApi.convertSource(request);
System.out.println(response.getDocument().getMarkdownContent());

More usage information is available in the docs.

Get help and support

Please feel free to connect with us using the discussion section.

Contributing

Please read Contributing to Docling Java for details.

License

The Docling codebase is under MIT license. For individual model usage, please refer to the model licenses found in the original packages.

IBM ❀️ Open Source AI

The project was started by the AI for knowledge team at IBM Research Zurich.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Eric Deandrea
Eric Deandrea

πŸ’» πŸ–‹ πŸ“– πŸ€” πŸš‡ 🚧 πŸ“† ⚠️
Thomas Vitale
Thomas Vitale

πŸ’» πŸ–‹ πŸ“– πŸ€” πŸš‡ 🚧 πŸ“† ⚠️ πŸ‘€
Alex Soto
Alex Soto

πŸ€” πŸ“†
Michele Dolfi
Michele Dolfi

🎨 πŸ€” πŸš‡ πŸ’¬
Cesar Berrospi Ramis
Cesar Berrospi Ramis

πŸ€”

This project follows the all-contributors specification. Contributions of any kind are welcome!

IBM ❀️ Open Source AI