Skip to content

Java Quickstart

The one-line version, for reference:

Terminal window
curl -X POST "https://api.labelzoom.com/api/v2/convert/zpl/to/pdf" -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: text/plain" -d '^XA^FO50,50^ADN,36,20^FDLabelZoom^FS^XZ' --output label.pdf

The same conversion with the built-in HttpClient (Java 11+):

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.file.Path;
public class LabelZoomQuickstart {
public static void main(String[] args) throws Exception {
String zpl = "^XA^FO50,50^ADN,36,20^FDLabelZoom^FS^XZ";
String apiKey = System.getenv("LABELZOOM_API_KEY");
HttpClient client = HttpClient.newHttpClient();
HttpRequest.Builder builder = HttpRequest.newBuilder()
.uri(URI.create("https://api.labelzoom.com/api/v2/convert/zpl/to/pdf"
+ "?label.width=4&label.height=6&dpi=203"))
.header("Content-Type", "text/plain")
.POST(HttpRequest.BodyPublishers.ofString(zpl));
// The API key is optional — omit the Authorization header if it isn't set.
if (apiKey != null && !apiKey.isBlank()) {
builder.header("Authorization", "Bearer " + apiKey);
}
HttpRequest request = builder.build();
HttpResponse<Path> response = client.send(
request, HttpResponse.BodyHandlers.ofFile(Path.of("label.pdf")));
if (response.statusCode() != 200) {
throw new RuntimeException("Conversion failed: " + response.statusCode());
}
System.out.println("Wrote label.pdf");
}
}

Swap the endpoint and body publisher:

HttpRequest.Builder builder = HttpRequest.newBuilder()
.uri(URI.create("https://api.labelzoom.com/api/v2/convert/pdf/to/zpl"))
.header("Content-Type", "application/pdf")
.POST(HttpRequest.BodyPublishers.ofFile(Path.of("shipping-label.pdf")));
if (apiKey != null && !apiKey.isBlank()) {
builder.header("Authorization", "Bearer " + apiKey);
}
HttpRequest request = builder.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
String zpl = response.body();

Reuse one HttpClient instance across conversions. All endpoint patterns and parameters: quickstart · Swagger reference.