This API will generate the searchable pdf. It takes the input tif/tiff file and rsp file for processing when recostar engine is used. Input parameters isColorImage and isSearchableImage will be used to specify the generated output pdf to be coloured or searchable.
Request Method POST
Input Parameters
Input Parameter | Values | Descriptions |
isColorImage | Either “true”/”false” | Generates the color pdf if input image is color and value is “true”. |
isSearchableImage | Either “true”/”false” | Generates the searchable pdf if value is “true”. |
outputPDFFileName | String value should ends with .pdf extension | Output pdf file name generated using API. |
projectFile | String value should ends with .rsp extension | RSP file used as recostar processing. |
ocrEngine | Recostar or Nuance | String value for the engine used in ocr. |
Web Service url: http://{serverName}:{port}/dcma/rest/createSearchablePDF
Checklist:
- Input only tiff/tif files for generating searchable pdf.
- RSP file is mandatory for generating the searchable pdf in case of Recostar and must be named FPR.rsp in all cases.
Sample client code using apache commons http client:-
private static void createSearchablePDF() { HttpClient client = new HttpClient(); String url = "http://localhost:8080/dcma/rest/createSearchablePDF"; PostMethod mPost = new PostMethod(url); File file1 = new File("C:\\sample\\sample1.tif"); File file2 = new File("C:\\sample\\Fpr.rsp"); Part[] parts = new Part[7]; try { parts[0] = new FilePart(file1.getName(), file1); parts[1] = new FilePart(file2.getName(), file2); parts[2] = new StringPart("isColorImage", "false"); parts[3] = new StringPart("isSearchableImage", "true"); parts[4] = new StringPart("outputPDFFileName", "OutputPDF.pdf"); parts[5] = new StringPart("projectFile", "Fpr.rsp"); parts[6] = new StringPart("ocrEngine", "Recostar"); MultipartRequestEntity entity = new MultipartRequestEntity(parts, mPost.getParams()); mPost.setRequestEntity(entity); int statusCode = client.executeMethod(mPost); if (statusCode == 200) { InputStream inputStream = mPost.getResponseBodyAsStream(); String outputFilePath = "C:\\sample\\Output.pdf"; File file = new File(outputFilePath); FileOutputStream fileOutputStream = new FileOutputStream(file); try { byte[] buf = new byte[1024]; int len = inputStream.read(buf); while (len > 0) { fileOutputStream.write(buf, 0, len); len = inputStream.read(buf); } } finally { if (fileOutputStream != null) { fileOutputStream.close(); } } System.out.println("Web service executed successfully."); } else if (statusCode == 403) { System.out.println("Invalid username/password."); } else { System.out.println(mPost.getResponseBodyAsString()); } } catch (FileNotFoundException e) { System.err.println("File not found for processing."); } catch (HttpException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (mPost != null) { mPost.releaseConnection(); } } }