Skip to content

A native Java client for the DocRaptor document generation service.

License

Notifications You must be signed in to change notification settings

DocRaptor/docraptor-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DocRaptor Java Native Client Library

This is a maven package for using DocRaptor API to convert HTML to PDF and XLSX.

Installation

To install the API client library to your local Maven repository, simply execute:

mvn install

To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:

mvn deploy

After the client library is installed/deployed, you can use it in your Maven project by adding the following to your pom.xml:

<dependency>
  <groupId>com.docraptor</groupId>
  <artifactId>docraptor</artifactId>
  <version>3.2.0</version>
</dependency>

Basic Usage

import java.io.*;
import java.net.*;
import com.docraptor.*;

public class Sync {
  public static void main(String[] args) throws Exception {
    DocApi docraptor = new DocApi();
    ApiClient client = docraptor.getApiClient();
    client.setUsername("YOUR_API_KEY_HERE"); // this key works for test documents
    //client.setDebugging(true);

    Doc doc = new Doc();
    doc.setTest(true);                                                   // test documents are free but watermarked
    doc.setDocumentContent("<html><body>Hello World</body></html>");     // supply content directly
    // doc.setDocumentUrl("http://docraptor.com/examples/invoice.html"); // or use a url
    doc.setDocumentType(Doc.DocumentTypeEnum.PDF);                       // PDF or XLS or XLSX
    doc.setName("docraptor-java.pdf");                                   // help you find a document later
    doc.setJavascript(true);                                             // enable JavaScript processing
    // prince_options = new PrinceOptions();
    // doc.setPrinceOptions(prince_options);
    // prince_options.setMedia("screen");                                // use screen styles instead of print styles
    // prince_options.setBaseurl("http://hello.com")                     // pretend URL when using document_content
    docraptor.createDoc(doc);
  }
}

Next Steps

  • Optionally store and get a URL for your converted document with document hosting
  • View more code examples with error handling, asynchronous creation, file saving, and document hosting.
  • Perfect your document styling with our style and formatting reference, and API reference. Easily add headers and footers, page breaks, page numbers, table of contents, and much more!

More Help

Stuck? We're experts at turning HTML into PDFs so please email us if you run into trouble.

Development

The majority of the code in this repo is generated using openapi-generator on docraptor.yaml. You can modify this file and regenerate the client using script/generate_language.

If dependencies change in the generated code then the pom.xml will need regenerated by swagger which it only does if the file doesn't exist. To regenerate it:

  • delete the pom.xml
  • run script/generate_language
  • an additional maven plugin is used to deploy the library to the nexus repository which regenerating the pom.xml file removes. To replace it add the following plugin in the <project><build><plugins> section:
    <plugin>
        <groupId>org.sonatype.plugins</groupId>
        <artifactId>nexus-staging-maven-plugin</artifactId>
        <version>1.6</version>
        <extensions>true</extensions>
        <configuration>
            <serverId>ossrh</serverId>
            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
            <autoReleaseAfterClose>true</autoReleaseAfterClose>
        </configuration>
    </plugin>
    

Release Process

If you haven't released before, please see the release setup guide.

  1. Pull latest master
  2. Merge feature branch(es) into master
  3. script/test
  4. Increment version:
  • generator-config.json
  • README.md
  1. Run script/generate_language to update generated version numbers:
  • build.gradle
  • pom.xml
  • src/main/java/com/docraptor/ApiClient.java
  1. Update CHANGELOG.md
  2. Commit "Release vX.Y.Z"
  3. Push to GitHub
  4. Tag version: git tag 'vX.Y.Z' && git push --tags
  5. script/release
  6. Verify package release at Central (takes anywhere from minutes to days)
  7. Open https://github.com/DocRaptor/docraptor-java/tags and make a new release for the version. Use the git tag as the name, CHANGELOG entries as the description, and attach target/docraptor-* to the release
  8. Refresh documentation on docraptor.com

Version Policy

This library follows Semantic Versioning 2.0.0.