UiPath Documentation
activities
latest
false
Actividades de Document Understanding
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

PDF coded automation APIs (preview)

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.

  • Descriptor de acceso de servicio: pdf (tipo IPdfService)
  • Paquete requerido: "UiPath.PDF.Activities": "*" en las dependencias project.json .

Espacios de nombres importados automáticamente

The following namespaces are automatically available in coded workflows when the PDF package is installed:

  • UiPath.PDF.Activities.Api
  • UiPath.PDF
  • UiPath.PDF.Activities.PDF.Enums
  • UiPath.Platform.ResourceHandling
  • System.Net.Mail

Descripción general del servicio

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.

Opciones

ConvertToPdfOptions

Shared layout and content options for the conversion methods.

  • HeaderHtml String - HTML snippet used as the page header. Defaults to null (no header).
  • FooterHtml String - HTML snippet used as the page footer. Defaults to null (no footer).
  • PaperSize PaperSize - Paper size for the output PDF. Defaults to A4.
  • Margin Int - Page margin in points. Defaults to 0.
  • Scale Double - Page rendering scale, between 0.1 and 2 inclusive. Defaults to 1.0.

Referencia de enumeración

ImageExtension

Utilizado por ExtractImagesFromPdf.

  • PNG - PNG image format.
  • JPEG - JPEG image format.
  • TIFF - TIFF image format.
  • BMP - BMP image format.

ImageDpi

Utilizado por ReadPdfWithOcr y ExportPdfPageAsImage.

  • Low - 96 DPI.
  • Medium - 150 DPI. Default.
  • High - 270 DPI.

TextAlignment

Utilizado por ConvertTextToPdf.

  • Justify - Justified alignment. Default.
  • Left - Left alignment.
  • Right - Right alignment.
  • Center - Center alignment.

PaperSize

Utilizado por 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.

Relación con las actividades

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.

Patrones comunes

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);
}

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado