Using an OcrTransformer to add a Searchable Text Layer

The code below shows you how to use an OcrTransformer to add a searchable text layer to a PDF.

It is recommended that you have already reviewed the Getting Started sample, since that includes Licensing and Framework initialization code required to make this sample run.

This sample requires a Professional+OCR license.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
using System; using SolidFramework.Converters.Plumbing; using SolidFramework.Pdf; using SolidFramework.Pdf.Transformers; namespace CSharp_Tutorials { public static partial class Tutorials { public static bool OcrTransformer(string pdfPath, string outputPath) { // Ensure license allows OCR if (!SolidFramework.License.Allows(SolidFramework.Plumbing.LicensePermissions.Ocr)) { Console.WriteLine("License doesn't allow OCR - skipping OcrTransformer"); Console.WriteLine(); return false; } // Create a PdfDocument and open the PDF file using (var document = new PdfDocument(pdfPath)) { document.Open(); // Create an OcrTransformer var transformer = new OcrTransformer(); // Set the OCR options to your liking transformer.OcrType = OcrType.CreateSearchableTextLayer; transformer.OcrEngine = TextRecoveryEngine.SolidOCR; transformer.OcrLanguage = "en"; transformer.OcrImageCompression = SolidFramework.Imaging.Plumbing.ImageCompression.PreserveOriginal; // Add the PdfDocument to the transformer transformer.AddDocument(document); Console.WriteLine("Transforming " + outputPath + " using an OcrTransformer"); // Transform the PdfDocument transformer.Transform(); // Save the updated document document.SaveAs(outputPath, SolidFramework.Plumbing.OverwriteMode.ForceOverwrite); } Console.WriteLine("Successfully transformed " + outputPath + " using an OcrTransformer"); Console.WriteLine(); return true; } } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
Imports System Imports SolidFramework.Converters.Plumbing Imports SolidFramework.Pdf Imports SolidFramework.Pdf.Transformers Namespace VBNet_Tutorials Partial Module Tutorials Function OcrTransformer(ByVal pdfPath As String, ByVal outputPath As String) As Boolean ' Ensure license allows OCR If Not SolidFramework.License.Allows(SolidFramework.Plumbing.LicensePermissions.Ocr) Then Console.WriteLine("License doesn't allow OCR - skipping OcrTransformer") Console.WriteLine() Return False End If ' Create a PdfDocument And open the PDF file Using document As PdfDocument = New PdfDocument(pdfPath) document.Open() ' Create an OcrTransformer Dim transformer As OcrTransformer = New OcrTransformer() ' Set the OCR options to your liking transformer.OcrType = OcrType.CreateSearchableTextLayer transformer.OcrEngine = TextRecoveryEngine.SolidOCR transformer.OcrLanguage = "en" transformer.OcrImageCompression = SolidFramework.Imaging.Plumbing.ImageCompression.PreserveOriginal ' Add the PdfDocument to the transformer transformer.AddDocument(document) Console.WriteLine("Transforming " & outputPath & " using an OcrTransformer") ' Transform the PdfDocument transformer.Transform() ' Save the updated document document.SaveAs(outputPath, SolidFramework.Plumbing.OverwriteMode.ForceOverwrite) End Using Console.WriteLine("Successfully transformed " & outputPath & " using an OcrTransformer") Console.WriteLine() Return True End Function End Module End Namespace

Previous sample Samples Next sample