No te recomiendo esta forma de solucionarlo. Igual lo mas sencillo es crear el documento PDF + metadatos directamente desde OpenKM. Parsear un documento es siempre mucho mas problemático. Yo le veo dos opciones:
1- Fíjate que desde OpenKM puedes poner el fichero + metadatos en las plantillas y tienes la opción de crear desde plantilla en el menú contextual. Esta llamada también podría realizarse a través del API ( si el método no esta expuesto, es relativamente fácil de exponerlo ).
2- Cuando creas el documento tienes que guardar en algún sitio los metadatos ( una base de datos o donde sea ), para que cuando subas el documento a OpenKM le puedas añadir los metadatos ( esto lo harías a través del API con el SDK4J, .net , php o directamente atacando el rest aquí tienes los sdk disponibles
https://docs.openkm.com/kcenter/ ).
No te aconsejo parsear documentos cuyos datos ya tienes previamente, es poco eficiente. A parte que cualquier captura de datos supone siempre un posible error. Si los datos ya los tienes desde un formulario, o la lógica que tengas montada, es mucho mejor almacenarlos y procesarlo todo de forma lineal.
Esto tiene varias formas de solucionarse, desde que todo el proceso vaya con un formulario y sea todo lineal contra openkm, hasta que los datos se almacenen en un BD temporal para despues ser utilizados a la hora de establecer los metadatos o subir el documento PDF + csv que tenga los metadatos etc... Mi sugerencia es que cuanto mas sencillo mejor. Lo ideal seria que desde el propio formulario ya creases el documento en OpenKM ( todo depende de lo complicada que sea tu plantilla y de como quede el formato final, hay que evaluar si el modelo de plantillas de OpenKM es suficiente para ti o no ? pégale un ojo aquí
https://wiki.openkm.com/index.php/Templates )