Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

A decision-focused weekly PDF brief

Give reviewers a short report they can act on. A highlighted decision appears first, followed by the progress and risks that explain it and an action table with owners.

Opens the generated download in a local browser tool. The C# example below creates the document.

Start with
Weekly progress, risks, and next actions
Generate
PDF
Generated PDF example: A decision-focused weekly PDF brief
Page 1 · Generated by the example below

How it works

  1. Lead with the decision

    Use a colored paragraph panel to make the requested decision stand out from the narrative.

  2. Keep the supporting detail short

    Separate progress bullets from the issue that needs attention.

  3. Close with ownership

    Put the next actions, owners, and due dates into a styled table. Add PDF metadata for the exported file.

The C# source

The example below shows the document API and layout used for this report. Follow the PDF guide for package setup in your own project.

using System.IO;
using OfficeIMO.Pdf;

namespace OfficeIMO.Examples.Showcase.Workflows;

/// <summary>Combines a decision panel, concise narrative, and action table in a weekly PDF brief.</summary>
internal static class WeeklyBrief {
    internal static void Create(string folder) {
        OfficeTheme theme = OfficeTheme.Default;
        OfficeColor muted = theme.Palette.TextMuted;
        OfficeColor warning = theme.Palette.Warning;
        string fonts = Path.Combine(AppContext.BaseDirectory, "Assets", "Fonts");
        var options = new PdfCreateOptions { PageSetup = { Footer = { Show = true } } }
            .UseFontFamily(new PdfEmbeddedFontFamily("Carlito",
                File.ReadAllBytes(Path.Combine(fonts, "Carlito-Regular.ttf")),
                File.ReadAllBytes(Path.Combine(fonts, "Carlito-Bold.ttf"))))
            .UsePdfUa(PdfComplianceProfile.PdfUa1);
        PdfDocument.Create(pdf => pdf.Content(content => content
            .Title("The week in delivery")
            .AddParagraph(p => p.AddText("Northwind · Week 38 · 2026").SetFontSize(OfficeLength.Points(theme.TypeScale.Caption.ToPoints())), color: muted)
            .AddPanelParagraph(p => {
                p.AddText("Decision for this week\n").SetBold();
                p.AddText(
                "Approve the second pilot group after the recovery exercise is complete.");
            })
            .H2("Progress")
            .AddList(new[] {
                "The first pilot group completed 48 requests.",
                "The team reduced the oldest queue from 16 items to 5.",
                "The receiving team completed its first supported handover."
            })
            .H2("Watch closely")
            .AddParagraph(p => { p.AddText("At risk: ").SetBold().SetColor(warning); p.AddText("two access issues remain open. Keep a named escalation contact available during the next pilot session."); })
            .H2("Next actions")
            .AddTable(new[] {
                new[] { "Action", "Owner", "Due" },
                new[] { "Complete recovery exercise", "Operations", "Tuesday" },
                new[] { "Close access issues", "Engineering", "Wednesday" },
                new[] { "Review pilot expansion", "Product", "Friday" }
            })
            .AddParagraph(p => p.AddText("Prepared from sample data. Keep the brief focused on decisions and actions.").SetFontSize(OfficeLength.Points(theme.TypeScale.Caption.ToPoints())), color: muted)),
            options)
            .Meta(title: "The week in delivery", author: "OfficeIMO")
            .Save(Path.Combine(folder, "example.pdf"));
    }
}
Open the C# source file

API used in this example

Use this in your project

Build the progress list and action rows from your reporting data. Retain the decision-first order so the report does not become a list of activity.

The PDF guide explains package setup and related document APIs.

Documents and scope

What the preview shows

The linked C# example generates this file. The page images are rendered from the downloadable PDF with Poppler.

What to keep in mind

The numbers and actions are demonstration data. This example formats a report; it does not collect live service telemetry.

PDF API reference · Artifact hashes and provenance

Continue with another example

Example source