codeunitAL Developmentofficial - Microsoftderived - from the source, no model text

Codeunit 3110 "PDF Document"

System Application · System.IO

Across versions

  1. BC23-25not present
  2. BC26added
  3. BC272 procedures added, 1 procedures changed
  4. BC28-30unchanged

Neighbourhood 5 connected objects and pages

Codeunit 3109 "PDF Document Impl." (calls, 15 links)PDF Document Impl.Report 25 "Account Schedule" (calls, 6 links)Account SchedulePage 6956 "Expense Picture" (calls, 2 links)Expense PictureCodeunit 4400 "SOA Setup" (calls)SOA SetupCodeunit 5579 "Digital Voucher Impl." (calls)Digital Voucher Impl.

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

System Application · System.IO · BC26-30 · source at ea08af5e · facts from BC29

Properties

Property Value
Access Public

Procedures

  • Initialize(): This procedure initializes the internal state of the object by resetting attachment lists and clearing user and admin codes, as well as any additional document names.
  • Load(DocumentStream: InStream): Boolean: This procedure is used to load a PDF document from a stream.
  • ConvertPdfToImage(var ImageStream: InStream; ImageFormat: Enum "Image Format"; PageNumber: Integer): Boolean + BC27: This procedure is used to convert a PDF file to an image.
  • ConvertToImage(var ImageStream: InStream; ImageFormat: Enum "Image Format"; PageNumber: Integer) Δ BC27 (obsolete 27.2: Use the ConvertPdfToImage procedure instead.): This procedure is used to convert a PDF file to an image.
  • GetDocumentAttachmentStream(PdfStream: InStream; var TempBlob: Codeunit "Temp Blob"): Boolean: This procedure is used to get the invoice attachment stream from a PDF file.
  • GetPdfProperties(DocumentInStream: InStream): JsonObject: Retrieves metadata properties from a PDF file, such as page size, author, title, and creation date.
  • GetPdfPageCount(DocumentInStream: InStream): Integer: Returns the number of pages in the provided PDF stream.
  • GetZipArchive(PdfStream: InStream): Initiates a download of a ZIP archive containing all embedded attachments from the provided PDF stream.
  • GetAttachmentNames(PdfStream: InStream): List of [Text]: Retrieves the names of embedded file attachments from a PDF document.
  • AddAttachment(AttachmentName: Text; PDFAttachmentDataType: Enum "PDF Attach. Data Relationship"; MimeType: Text; FileName: Text; Description: Text; PrimaryDocument: Boolean) + BC27: Configure the attachment lists. An empty name will reset the list. This procedure adds a new attachment to the PDF document with the specified metadata and relationship type.
  • AddAttachment(AttachmentName: Text; PDFAttachmentDataType: Enum "PDF Attach. Data Relationship"; MimeType: Text; FileInStream: InStream; Description: Text; PrimaryDocument: Boolean) + BC27: Configure the attachment lists. An empty name will reset the list. This procedure adds a new attachment to the PDF document with the specified metadata and relationship type.
  • AddFileToAppend(FileName: Text): Add a file to the list of files to append to the rendered document. Empty name will reset the list.
  • AddStreamToAppend(FileInStream: InStream): Add a stream to the list of files to append to the rendered document using a temporary file name.
  • ProtectDocument(User: Text; Admin: Text): Protect the document with a user and admin code using text data type.
  • ProtectDocument(User: SecretText; Admin: SecretText): Protect the document with a user and admin code using secrettext data type.
  • AttachmentCount(): Integer: Returns the number of configured attachments. Validates that all attachment-related lists (names, MIME types, data types, filenames, and descriptions) are synchronized in length. Throws an error if any of the lists are out of sync.
  • AppendedDocumentCount(): Integer: Returns the number of additional document names that have been appended. This count reflects how many supplementary documents are currently tracked.
  • ToJson(RenderingPayload: JsonObject): JsonObject: Converts the internal state of the PDF document configuration into a structured JSON payload. This includes metadata such as version, primary document, attachments, additional documents, and protection settings.

Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.

Called by

Deprecations

  • procedure ConvertToImage: Pending 27.2 (#if not CLEAN27), “Use the ConvertPdfToImage procedure instead.”

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "PDF Document"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources