Document Markers

During rendering, there may be issues, which don't cause an error (and exception), but nevertheless are noticeable, such as missing images, missing fonts, oversets etc. These issues are collected and can be requested from a Renderer Document as structured DocumentMarker objects.

Usage example:

import com.priint.comet.metadata.item.Item;
import com.priint.comet.renderer.DocumentMarker;
import com.priint.comet.renderer.Renderer;
import com.priint.comet.renderer.OpenedDocument;
import com.priint.comet.renderer.io.providers.TmpCopyFromString;
import com.priint.comet.renderer.exception.RendererException;

public void getDocumentMarkers() {
  String w2mlString = "";
  List<Item> items = new ArrayList<>();
  try (OpenedDocument document = ((Renderer) renderer).openDocument("DSN", new TmpCopyFromString(w2mlString))) {
    // do some rendering
    document.build(items);
    byte[] pdfData = document.getPdf();
      
    // everything Ok? 
    List markers = document.getMarkers();
      
    if (!markers.isEmpty()) {
      // evaluate and fix the problems
      // ...
      
      // clear markers before next run
      document.clearMarkers();
      
      // repeat build...
    }
  }
  catch (RendererException e) {
  } 
  catch (Exception e) {
  }
}