- Overview
- Document Processing Contracts
- Release notes
- About the Document Processing Contracts
- Box Class
- IPersistedActivity interface
- PrettyBoxConverter Class
- IClassifierActivity Interface
- IClassifierCapabilitiesProvider Interface
- ClassifierDocumentType Class
- ClassifierResult Class
- ClassifierCodeActivity Class
- ClassifierNativeActivity Class
- ClassifierAsyncCodeActivity Class
- ClassifierDocumentTypeCapability Class
- ContentValidationData Class
- EvaluatedBusinessRulesForFieldValue Class
- EvaluatedBusinessRuleDetails Class
- ExtractorAsyncCodeActivity Class
- ExtractorCodeActivity Class
- ExtractorDocumentType Class
- ExtractorDocumentTypeCapabilities Class
- ExtractorFieldCapability Class
- ExtractorNativeActivity Class
- ExtractorResult Class
- FieldValue Class
- FieldValueResult Class
- ICapabilitiesProvider Interface
- IExtractorActivity Interface
- ExtractorPayload Class
- DocumentActionPriority Enum
- DocumentActionData Class
- DocumentActionStatus Enum
- DocumentActionType Enum
- DocumentClassificationActionData Class
- DocumentValidationActionData Class
- UserData Class
- Document Class
- DocumentSplittingResult Class
- DomExtensions Class
- Page Class
- PageSection Class
- Polygon Class
- PolygonConverter Class
- Metadata Class
- WordGroup Class
- Word Class
- ProcessingSource Enum
- ResultsTableCell Class
- ResultsTableValue Class
- ResultsTableColumnInfo Class
- ResultsTable Class
- Rotation Enum
- Rule Class
- RuleResult Class
- RuleSet Class
- RuleSetResult Class
- SectionType Enum
- WordGroupType Enum
- IDocumentTextProjection Interface
- ClassificationResult Class
- ExtractionResult Class
- ResultsDocument Class
- ResultsDocumentBounds Class
- ResultsDataPoint Class
- ResultsValue Class
- ResultsContentReference Class
- ResultsValueTokens Class
- ResultsDerivedField Class
- ResultsDataSource Enum
- ResultConstants Class
- SimpleFieldValue Class
- TableFieldValue Class
- DocumentGroup Class
- DocumentTaxonomy Class
- DocumentType Class
- Field Class
- FieldType Enum
- FieldValueDetails Class
- LanguageInfo Class
- MetadataEntry Class
- TextType Enum
- TypeField Class
- ITrackingActivity Interface
- ITrainableActivity Interface
- ITrainableClassifierActivity Interface
- ITrainableExtractorActivity Interface
- TrainableClassifierAsyncCodeActivity Class
- TrainableClassifierCodeActivity Class
- TrainableClassifierNativeActivity Class
- TrainableExtractorAsyncCodeActivity Class
- TrainableExtractorCodeActivity Class
- TrainableExtractorNativeActivity Class
- BasicDataPoint Class
- BasicValue Class
- ComponentCollectionFacade Class
- DataPointFacadeBase Class
- ExtractionResultHandler Class
- FieldGroupDataPoint Class
- FieldGroupValue Class
- FieldLookupBase Class
- FieldRedactionSettings Class
- RedactionOptions Class (Preview)
- RedactionType Enum
- ResultsValueFacadeBase Class
- TableDataPoint Class
- TableRow Class
- TableValue Class
- WildcardDataPoint Class
- WildcardDataPointCollection Class
- Document Understanding ML
- Document Understanding OCR Local Server
- Document Understanding
- Release notes
- About the Document Understanding activity package
- Project compatibility
- Configuring external connection
- Document Understanding coded automation APIs (preview)
- Set PDF Password
- Merge PDFs
- Get PDF Page Count
- Extract PDF Text
- Extract PDF Images
- Extract PDF Page Range
- Extract Document Data
- Create Validation Task and Wait
- Wait for Validation Task and Resume
- Create Validation Task
- Create Document Validation Artifacts
- Retrieve Document Validation Artifacts
- Classify Document
- Create Classification Validation Task
- Create Classification Validation Task and Wait
- Wait for Classification Validation Task and Resume
- Intelligent OCR
- Release notes
- About the IntelligentOCR activity package
- Project compatibility
- Load Taxonomy
- Digitize Document
- Classify Document Scope
- Keyword Based Classifier
- Document Understanding Project Classifier
- Intelligent Keyword Classifier
- Create Document Classification Action
- Create Document Validation Artifacts
- Retrieve Document Validation Artifacts
- Wait For Document Classification Action And Resume
- Train Classifiers Scope
- Keyword Based Classifier Trainer
- Intelligent Keyword Classifier Trainer
- Data Extraction Scope
- Document Understanding Project Extractor
- Document Understanding Project Extractor Trainer
- RegEx Based Extractor
- Form Extractor
- Intelligent Form Extractor
- Redact Document
- Create Document Validation Action
- Wait For Document Validation Action And Resume
- Train Extractors Scope
- Export Extraction Results
- Machine Learning Extractor
- Machine Learning Extractor Trainer
- Machine Learning Classifier
- Machine Learning Classifier Trainer
- Generative Classifier
- Generative Extractor
- Configuring Authentication
- ML Services
- OCR
- OCR Contracts
- Release notes
- About the OCR Contracts
- Project compatibility
- IOCRActivity Interface
- OCRAsyncCodeActivity Class
- OCRCodeActivity Class
- OCRNativeActivity Class
- Character Class
- OCRResult Class
- Word Class
- FontStyles Enum
- OCRRotation Enum
- OCRCapabilities Class
- OCRScrapeBase Class
- OCRScrapeFactory Class
- ScrapeControlBase Class
- ScrapeEngineUsages Enum
- ScrapeEngineBase
- ScrapeEngineFactory Class
- ScrapeEngineProvider Class
- OmniPage
- PDF
- Release notes
- About the PDF activity package
- Project compatibility
- PDF coded automation APIs (preview)
- [Unlisted] Abbyy
- [Unlisted] Abbyy Embedded
Coded automation APIs for the PDF activities package, covering reading, merging, converting, and manipulating PDF and XPS files.
UiPath.PDF.Activities
Coded workflow API for reading, merging, converting, and manipulating PDF and XPS files. These APIs are available when designing coded automations. For an introduction to coded automations and how to design them using APIs, see Coded Automations.
- Service accessor:
pdf(typeIPdfService) - Required package:
"UiPath.PDF.Activities": "*"in theproject.jsondependencies.
Auto-imported namespaces
The following namespaces are automatically available in coded workflows when the PDF package is installed:
UiPath.PDF.Activities.ApiUiPath.PDFUiPath.PDF.Activities.PDF.EnumsUiPath.Platform.ResourceHandlingSystem.Net.Mail
Service overview
The pdf service exposes each operation as a direct method call. There is no connection or scope to open. Most operations provide two forms: one that takes a file path as a string, and one that takes an IResource (for example, the output of the Path Exists or Get Local File or Folder activity). Call methods on the service accessor directly:
string text = pdf.ReadPdfText(@"C:\docs\report.pdf");
string text = pdf.ReadPdfText(@"C:\docs\report.pdf");
Methods that create or transform a file return an ILocalResource pointing to the output. When outputFileName is null, the service generates a name automatically. Password-protected files are opened by passing the password parameter. The range parameter accepts "All" or explicit ranges such as "1-3,5".
Reading text
string ReadPdfText(string fileName, string password = null, string range = "All", bool preserveFormatting = false)
Reads the text from a PDF file. Set preserveFormatting to true to keep the text layout. An overload accepting an IResource is also available.
string ReadPdfWithOcr(string fileName, IOCRActivity ocrEngine, string range = "All", int degreeOfParallelism = 1, string password = null, ImageDpi imageDpi = ImageDpi.Medium)
Reads the text from a scanned PDF using the supplied OCR engine. Obtain an OCR engine from the OCR service (for example, IOcrService.GetUiPathDocumentOcr). degreeOfParallelism sets how many pages are processed at once. Windows only.
string ReadXpsText(string fileName, string range = "All")
Reads the text from an XPS file. An overload accepting an IResource is also available. Windows only.
string ReadXpsWithOcr(string fileName, IOCRActivity ocrEngine, string range = "All", int degreeOfParallelism = 1, string password = null)
Reads the text from an XPS file using the supplied OCR engine. Windows only.
Page and document operations
int GetPdfPageCount(string fileName, string password = null)
Returns the number of pages in a PDF file. An overload accepting an IResource is also available.
ILocalResource JoinPdf(string[] fileList, string outputFileName = null)
Merges multiple PDF files into a single PDF, in the order given. An overload accepting an IResource[] is also available.
ILocalResource ExtractPdfPageRange(string fileName, string range, string password = null, string outputFileName = null)
Extracts a range of pages (for example, "1-3,5") from a PDF into a new PDF. An overload accepting an IResource is also available.
ILocalResource ExportPdfPageAsImage(string fileName, int pageNumber, string outputFileName, string password = null, ImageDpi imageDpi = ImageDpi.Medium)
Exports a single page (1-based pageNumber) as an image. The image format is inferred from the outputFileName extension. An overload accepting an IResource is also available.
Creating and converting
ILocalResource CreatePdfFromImages(string[] fileList, string outputFileName = null)
Creates a PDF from a list of image files, one image per page. Supported input formats: PNG, JPG, JPEG, TIF, TIFF, BMP. An overload accepting an IResource[] is also available.
ILocalResource ConvertHtmlToPdf(string html, string outputFileName = null, bool keepBackground = true, ConvertToPdfOptions options = null)
Converts HTML content to a PDF. Set keepBackground to true to preserve background colors and graphics.
ILocalResource ConvertEmailToPdf(MailMessage email, string outputFileName = null, bool keepBackground = true, ConvertToPdfOptions options = null)
Converts an email message to a PDF.
ILocalResource ConvertTextToPdf(string text, string outputFileName = null, int fontSize = 12, TextAlignment textAlignment = TextAlignment.Justify, ConvertToPdfOptions options = null)
Converts plain text to a PDF, with a configurable font size and text alignment.
Extracting images and attachments
IEnumerable<ILocalResource> ExtractImagesFromPdf(string fileName, string password = null, ImageExtension imageExtension = ImageExtension.PNG, string outputFolderName = null)
Extracts all images from a PDF and saves them in the chosen format. An overload accepting an IResource is also available.
IEnumerable<ILocalResource> ExtractAttachmentsFromPdf(string fileName, string password = null, string[] filter = null, string outputFolderName = null)
Extracts the files embedded in a PDF. Set filter to limit to specific extensions (for example, new[] { ".docx", ".xlsx" }). An overload accepting an IResource is also available.
Managing passwords
ILocalResource ManagePdfPassword(string fileName, string oldUserPassword, string newUserPassword, string oldOwnerPassword, string newOwnerPassword, string outputFileName = null)
Sets or removes the user and owner passwords on a PDF. Pass null or an empty string as a new password to remove it. An overload accepting an IResource is also available.
Options
ConvertToPdfOptions
Shared layout and content options for the conversion methods.
HeaderHtmlString- HTML snippet used as the page header. Defaults tonull(no header).FooterHtmlString- HTML snippet used as the page footer. Defaults tonull(no footer).PaperSizePaperSize- Paper size for the output PDF. Defaults toA4.MarginInt- Page margin in points. Defaults to0.ScaleDouble- Page rendering scale, between0.1and2inclusive. Defaults to1.0.
Enum reference
ImageExtension
Used by ExtractImagesFromPdf.
PNG- PNG image format.JPEG- JPEG image format.TIFF- TIFF image format.BMP- BMP image format.
ImageDpi
Used by ReadPdfWithOcr and ExportPdfPageAsImage.
Low- 96 DPI.Medium- 150 DPI. Default.High- 270 DPI.
TextAlignment
Used by ConvertTextToPdf.
Justify- Justified alignment. Default.Left- Left alignment.Right- Right alignment.Center- Center alignment.
PaperSize
Used by ConvertToPdfOptions.
A4(default),A3,A5,A2,A6- ISO A-series sizes.Letter,Legal,Tabloid,Ledger,Executive,Statement- North American sizes.B4,B5- ISO B-series sizes.Number10Envelope,DLEnvelope,C5Envelope,C4Envelope- Envelope sizes.
Relationship to the activities
The coded API and the PDF XAML activities run on the same runtime, so a coded workflow reaches the same reading, conversion, and manipulation behavior as the activities in the PDF activity package. The difference is the call shape: the service takes plain file paths or IResource inputs and returns string, int, or ILocalResource results directly, and you use ordinary try/catch instead of the activity Continue On Error option.
Common patterns
Read the text of a PDF
This pattern reads the text of a page range from a PDF file. ReadPdfText returns the extracted text as a string.
[Workflow]
public void Execute()
{
string text = pdf.ReadPdfText(@"C:\docs\report.pdf", range: "1-3");
Log(text);
}
[Workflow]
public void Execute()
{
string text = pdf.ReadPdfText(@"C:\docs\report.pdf", range: "1-3");
Log(text);
}
Merge PDFs and extract a page range
This pattern merges two PDF files into one and then extracts a page range from the merged result. Each step returns an ILocalResource pointing to the output file.
[Workflow]
public void Execute()
{
var merged = pdf.JoinPdf(new[] { @"C:\docs\a.pdf", @"C:\docs\b.pdf" }, @"C:\docs\merged.pdf");
var firstTwoPages = pdf.ExtractPdfPageRange(merged.LocalPath, "1-2", outputFileName: @"C:\docs\excerpt.pdf");
}
[Workflow]
public void Execute()
{
var merged = pdf.JoinPdf(new[] { @"C:\docs\a.pdf", @"C:\docs\b.pdf" }, @"C:\docs\merged.pdf");
var firstTwoPages = pdf.ExtractPdfPageRange(merged.LocalPath, "1-2", outputFileName: @"C:\docs\excerpt.pdf");
}
Convert HTML to a Letter-size PDF with a margin
This pattern converts an HTML string to a PDF, using ConvertToPdfOptions to set a Letter paper size and a page margin. ConvertHtmlToPdf returns an ILocalResource pointing to the created PDF.
[Workflow]
public void Execute()
{
var options = new ConvertToPdfOptions { PaperSize = PaperSize.Letter, Margin = 20 };
var pdfFile = pdf.ConvertHtmlToPdf("<h1>Report</h1><p>Generated by a coded workflow.</p>", @"C:\docs\report.pdf", options: options);
}
[Workflow]
public void Execute()
{
var options = new ConvertToPdfOptions { PaperSize = PaperSize.Letter, Margin = 20 };
var pdfFile = pdf.ConvertHtmlToPdf("<h1>Report</h1><p>Generated by a coded workflow.</p>", @"C:\docs\report.pdf", options: options);
}
- Auto-imported namespaces
- Service overview
- Reading text
string ReadPdfText(string fileName, string password = null, string range = "All", bool preserveFormatting = false)string ReadPdfWithOcr(string fileName, IOCRActivity ocrEngine, string range = "All", int degreeOfParallelism = 1, string password = null, ImageDpi imageDpi = ImageDpi.Medium)string ReadXpsText(string fileName, string range = "All")string ReadXpsWithOcr(string fileName, IOCRActivity ocrEngine, string range = "All", int degreeOfParallelism = 1, string password = null)- Page and document operations
int GetPdfPageCount(string fileName, string password = null)ILocalResource JoinPdf(string[] fileList, string outputFileName = null)ILocalResource ExtractPdfPageRange(string fileName, string range, string password = null, string outputFileName = null)ILocalResource ExportPdfPageAsImage(string fileName, int pageNumber, string outputFileName, string password = null, ImageDpi imageDpi = ImageDpi.Medium)- Creating and converting
ILocalResource CreatePdfFromImages(string[] fileList, string outputFileName = null)ILocalResource ConvertHtmlToPdf(string html, string outputFileName = null, bool keepBackground = true, ConvertToPdfOptions options = null)ILocalResource ConvertEmailToPdf(MailMessage email, string outputFileName = null, bool keepBackground = true, ConvertToPdfOptions options = null)ILocalResource ConvertTextToPdf(string text, string outputFileName = null, int fontSize = 12, TextAlignment textAlignment = TextAlignment.Justify, ConvertToPdfOptions options = null)- Extracting images and attachments
IEnumerable<ILocalResource> ExtractImagesFromPdf(string fileName, string password = null, ImageExtension imageExtension = ImageExtension.PNG, string outputFolderName = null)IEnumerable<ILocalResource> ExtractAttachmentsFromPdf(string fileName, string password = null, string[] filter = null, string outputFolderName = null)- Managing passwords
ILocalResource ManagePdfPassword(string fileName, string oldUserPassword, string newUserPassword, string oldOwnerPassword, string newOwnerPassword, string outputFileName = null)- Options
ConvertToPdfOptions- Enum reference
ImageExtensionImageDpiTextAlignmentPaperSize- Relationship to the activities
- Common patterns
- Read the text of a PDF
- Merge PDFs and extract a page range
- Convert HTML to a Letter-size PDF with a margin