for me i use
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import system.proxies.FileDocument;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
String extractedText;
try (InputStream pdfInputStream = Core.getFileDocumentContent(context, your_pdf);
PDDocument pdfDocument = PDDocument.load(pdfInputStream)) {
PDFTextStripper stripper = new PDFTextStripper();
extractedText = stripper.getText(pdfDocument);
}
//Create docx with extracted text
XWPFDocument docxDocument = new XWPFDocument();
XWPFParagraph paragraph = docxDocument.createParagraph();
paragraph.createRun().setText(extractedText);
ByteArrayOutputStream docxOutputStream = new ByteArrayOutputStream();
docxDocument.write(docxOutputStream);
ByteArrayInputStream docxInputStream = new ByteArrayInputStream(docxOutputStream.toByteArray());
//Create new mendix obj
IMendixObject docxFileDocumentObject = Core.instantiate(context, FileDocument.entityName);
docxFileDocumentObject.setValue(context, "Name", "ConvertedDocument.docx");
docxFileDocumentObject.setValue(context, "HasContents", true);
Core.storeFileDocumentContent(context, docxFileDocumentObject, docxInputStream);
Core.commit(context, docxFileDocumentObject);
return docxFileDocumentObject;