Hi! I am new user of Finereader Engine 12. The company, where i work purchase Finereader Engine for OCR. So there is a task replace pdf text layer to another text layer. In verbose, my purpose is recognize old archive documents with Finereader and correct unrecognized text layer. For that, I recognize scanned file(jpg, png etc.) and export it as pdf. After that I have to correct unrecognized texts, since there is not any pdf editor on web browser, I exported recognized pdf file as odt (open document text), and on web browser I could correct it with WebODF.js API. So, I have corrected odt file and I have to convert it back to pdf. But my Finereader Enigine 12 license does not support office document  convertation. So, I had to convert odt to pdf with Java lib (JodConverter). Fortunately, odt converted to pdf as searchable pdf. So, I want to replace text layer of original pdf(recognized from image file) with converted pdf file(from odt to) text layer. I tried do it with several ways, but no result. 

public String replaceTextLayout(byte[] oldFile, byte[] newFile){
engine.LoadPredefinedProfile( "DocumentConversion_Accuracy" );
IFRDocument oldDocument = engine.CreateFRDocument();
IFRDocument newDocument = engine.CreateFRDocument();
try {
oldDocument.AddImageFileFromMemory(oldFile, null, null, null, null);
newDocument.AddImageFileFromMemory(newFile, null, null, null, null);



IObjectsExtractionParams iObjectsExtractionParams = engine.CreateObjectsExtractionParams();
iObjectsExtractionParams.setSourceContentReuseMode(SourceContentReuseModeEnum.CRM_ContentOnly);

oldDocument.AnalyzePages(null, null, iObjectsExtractionParams, null);
newDocument.AnalyzePages(null, null, iObjectsExtractionParams, null);



IFRPages newPages = newDocument.getPages();
IFRPage newPage = newPages.Item(0);
ILayout newLayout = newPage.getLayout();

IFRPages oldPages = oldDocument.getPages();
IFRPage oldPage = oldPages.Item(0);
oldPage.setLayout(newLayout);
oldPage.Synthesize(null);

IPDFExportParams pdfParams = engine.CreatePDFExportParams();
pdfParams.setScenario(PDFExportScenarioEnum.PES_MaxQuality);
pdfParams.setTextExportMode(PDFExportModeEnum.PEM_ImageOnText);
oldDocument.Synthesize(null);
oldDocument.Process(null);
String processedFile = System.getProperty("java.io.tmpdir")+ "/" + UUID.randomUUID().toString()+".pdf";
oldDocument.Export(processedFile, FileExportFormatEnum.FEF_PDF, pdfParams);
return processedFile;
}finally {
oldDocument.Close();
oldDocument.Release();
newDocument.Close();
newDocument.Release();
}
}

I also give IObjectExtractionParams as params to oldDocument.Process() method through IDcoumentProcessingParams -> PageProcessingParams -> setIObjectExtractionParams(IObjectExtractionParams), but no result.

Also i tried add blocks from first pdf to the second:

for (int i = 0; i < oldPage.getLayout().getBlocks().getCount(); i++){
oldPage.getLayout().getBlocks().DeleteAt(0);
oldPage.getLayout().getBlocks().AddNew(newLayout.getBlocks().getElement(0).getType(), newLayout.getBlocks().getElement(i).getRegion(), i);
}

Also doesn't work. Hope you will help me^^