SSRS2

io.github.AntoineGou由 GitHub 帳號 AntoineGou 發布v1.6.0更新於 Oct 27, 2026

Markdown to editable PowerPoint, Word, PDF; checks, edits and previews RDLC/RDL reports.

已驗證Streamable HTTP可網頁執行開發者工具媒體與設計

概覽

AI 產生的概覽

SSRS2 可將 RDLC/RDL 報表與 Markdown 轉成 PDF、Word、PowerPoint、Excel 和圖片,並讓助理驗證、概述、編輯與預覽報表。

可以做什麼
  • 把報表或 Markdown 文件、投影片轉成 pptx、pdf、docx、xlsx、mhtml、tiff、png、csv 或 xml
  • 依 Report Viewer 引擎驗證報表定義與 Markdown,回傳診斷資訊和執行時計數
  • 概述報表的頁面、資料集、欄位、參數與各項元素,方便規劃修改
  • 透過設計工具操作編輯報表 XML,全部成功或全部不生效,並回報新問題與頁數
  • 先回傳 JSON 摘要,再以 PNG 或 PDF 呈現頁面預覽
  • 依結構將報表定義分組,方便對多份相似報表做同一項修改
適用情境
適合助理撰寫或維護 RDLC/RDL 報表、需要在沒有 Windows Report Viewer 的情況下驗證、預覽或修改報表時使用;也適合把 Markdown 內容轉成可編輯的 PowerPoint、Word 或 PDF。
執行需求
可作為遠端端點使用,也可用 dnx SSRS2.Mcp 在本機以 .NET 工具執行。授權金鑰為選用,透過 SSRS2_LICENSE 環境變數或 Authorization 標頭提供。Linux 上需要 fontconfig(libfontconfig1)。
安裝前請注意
沒有授權金鑰時,PDF 與圖片輸出會帶試用水印,遠端呼叫也會依位址限流;商業授權需付費(每年 799 美元或三年 1,999 美元)。編輯工具會改寫報表定義,修改後應再確認。較大的編輯結果可能以限時下載連結回傳。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 SSRS2,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.AntoineGou%2Fssrs2/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "ssrs2": {
      "type": "http",
      "url": "https://ssrs2.net/mcp"
    }
  }
}

README

SSRS2 — Cross-Platform RDLC Report Engine for .NET

Run the RDLC reports you already have on any platform: PDF, Excel, Word, HTML and images, laid out as Microsoft's Report Viewer lays them out.

https://github.com/user-attachments/assets/66406aec-b92b-40cf-b031-2d506de34857

Drop-in replacement for the LocalReport of Microsoft's Report Viewer — runs on Windows, Linux, macOS, Docker, Kubernetes, and cloud environments. No GDI+ and no libgdiplus: on Linux it needs only fontconfig, which most systems have (the official .NET Docker images need libfontconfig1, see below).

[NuGet] [Live Demo] [Website]


Quick Start

bash
dotnet add package SSRS2.NETCore
csharp
using SSRS2.Reporting.NETCore;
var report = new LocalReport();report.LoadReportDefinition(rdlcStream);report.DataSources.Add(new ReportDataSource("Data", yourData));
byte[] pdf = report.Render("PDF");

Your existing .rdlc files work without modification, and your LocalReport code keeps working once its namespace is changed.

In a Linux container, add fontconfig, which the official .NET images lack:

dockerfile
RUN apt-get update && apt-get install -y --no-install-recommends libfontconfig1 && rm -rf /var/lib/apt/lists/*

Free trial — works without a license key. Output includes a small watermark until activated.
Buy a licence at ssrs2.net/pricing: the key arrives by email within a minute. Set it as the SSRS2_LICENSE environment variable or call Ssrs2.License.Activate("your-key").

Try it in the browser — the online designer (beta) opens your .rdlc, previews it as SSRS2 renders it on Linux and exports PDF, Excel or Word. No install; an account is only needed to save reports online.


Why SSRS2?

Microsoft's Report Viewer runs on .NET Framework and Windows only, and has no .NET 8, 9 or 10 version (checked 2026-10-01). Microsoft points to Power BI paginated reports instead, which come with Power BI Pro at USD 14 per user per month. If you have existing RDLC reports and need to run them on modern .NET, your options are limited:

SSRS2ReportViewerCore (free)Power BI Paginated
Linux / Docker✅ PDF and images included (with libfontconfig1)⚠️ HTML, Excel, Word❌ Cloud only
No GDI+ dependency✅❌ System.DrawingN/A
.NET 8 / 9 / 10✅✅N/A
.NET Framework 4.7.2+✅❌N/A
macOS / ARM64✅⚠️ Partial❌
Self-hosted✅✅❌
SupportSold separatelyCommunityMicrosoft
Data sovereignty✅ On your infra✅❌ Cloud

Export Formats

FormatRender StringExtension
PDF (with hyperlinks)"PDF".pdf
Excel"EXCELOPENXML".xlsx
Word"WORDOPENXML".docx
PowerPoint (editable slides)"PPTX".pptx
HTML5"HTML5".html
HTML 4.0"HTML4.0".html
MHTML"MHTML".mhtml
PNG"PNG".png
JPEG"JPEG".jpg
WebP"WEBP".webp
TIFF (all pages)"IMAGE".tif
CSV"CSV".csv
XML"XML".xml

Beyond rendering

  • Check a report without running it: report.CheckDefinition() returns each problem of a definition (its code, item, property and expression), without rendering it.
  • Reports your application did not write: RestrictedCode = true holds their expressions and custom code to what a report computes with: no files, environment, processes or reflection (.NET 8, 9 and 10).
  • PDF settings: the report's title and author, passwords and permissions (AES-256), or PDF/A-2b for archives.
  • A viewer of your own: Toggle, Sort, FindBookmark, FindDocumentMapNode and Drillthrough do what Report Viewer's control does on a click.
  • AI coding agents: dnx SSRS2.Mcp gives Claude Code, Cursor or VS Code tools that check and preview the reports they write, on your machine (SSRS2.Mcp).

Platform Support

PlatformStatus
Windows x64✅
Linux x64 and ARM64✅
macOS✅
Docker containers✅
Azure App Service (where ssrs2.net runs)✅

.NET Framework Support

FrameworkStatus
.NET Framework 4.7.2✅
.NET Framework 4.8✅
.NET 8.0 (LTS)✅
.NET 9.0✅
.NET 10.0✅

Migration from Microsoft ReportViewer

csharp
// Before (Microsoft Report Viewer — Windows only)using Microsoft.Reporting.WinForms;
// After (SSRS2 — runs anywhere)using SSRS2.Reporting.NETCore;
// Same API. Same RDLC files. Any platform.var report = new LocalReport();report.LoadReportDefinition(rdlcStream);report.DataSources.Add(new ReportDataSource("Data", yourData));byte[] pdf = report.Render("PDF");

Migrate at your own pace — SSRS2 supports .NET Framework 4.7.2/4.8 AND .NET 8/9/10. Adopt on your existing .NET Framework app today, move to .NET 10 when ready.

📖 Full migration guide with cost comparison →


Licensing

SSRS2 is a commercial product with a free trial (watermarked output).

  • One licence per company: USD 799 a year, or USD 1,999 for three years — no per-seat or per-server fees
  • Unlimited developers, applications, servers and renders: nothing is counted, and the key is checked offline
  • All features included in every licence, with every release published while it runs; a key keeps working forever with those releases
  • Not included: support, migration help and custom work (sold separately), and shipping SSRS2 inside software other companies install (a separate redistribution licence)

Buy online at ssrs2.net/pricing; the licence terms are one page.


Resources

ResourceLink
🌐 Websitessrs2.net
🎮 Live Demossrs2.net/demo
🎨 Online Designer (beta)designer.ssrs2.net
📖 Migration Guidessrs2.net/ssrs-to-dotnet-core
📊 Feature Comparisonssrs2.net/compare
💰 Pricingssrs2.net/pricing
📝 Medium ArticleSSRS to .NET Core: 3 Options Compared
🤖 Medium ArticleDesigning SSRS reports with an AI agent
📦 NuGetnuget.org/packages/SSRS2.NETCore

Support

ChannelPurpose
GitHub IssuesBug reports & feature requests
ssrs2.netDocumentation & demos
[email protected]Licences, and support or migration help (sold separately)

SSRS2 — Enterprise Reporting for Modern .NET

來源:README.md,提交 5507597

工具

6

convert_report

Convert a report to a file

Converts a report (RDL or RDLC) or Markdown (a document, or slides) with SSRS2 (Report Viewer's rules) to pptx (PowerPoint's own text boxes, tables and pictures, a slide per page: a Markdown deck becomes a deck), pdf, docx, xlsx, mhtml, tiff, png (the first page), csv or xml. It is checked first, as validate_report checks it: with errors nothing is written. Returns validate_report's answer and written: the file's name and size, url (downloaded once, within ten minutes), curl (the command that saves it), and what it holds read back as PowerPoint (slides) or Word and a PDF reader (document) get it. help: ["answers"] says more.

輸入參數helpnamerdlcformatculturemarkdownpicturesparameterssampleData

compare_reports

Group reports by structure

Groups report definitions (RDL or RDLC) by structure, to plan one change across many: a group's reports have the same items, datasets, parameters and code modules and differ only in places, texts and looks, so one set of operations naming their items changes them alike. Returns groups, the largest first: structure (edit_report's structure), roles (what role:signature and the like name there), differs (how its first report differs from the first group's), places (items placed otherwise), and versions: each report and its version.

輸入參數detailreports必填

render_preview

Render a report's pages

Renders a report definition (RDL or RDLC) or Markdown (a document, or slides: a page each) with SSRS2, the Report Viewer engine, and returns its pages as PNG, as a PDF of it would show them: a JSON summary first (what validate_report answers, no need to validate first; madeUpRows; conversion for Markdown, what it approximated at its lines; text, what the pages print, page by page in reading order, where values are read exactly), then an image per page, or one image of numbered thumbnails (sheet) to see a deck or a long report whole. A report with errors is not rendered. help: ["answers"] says more.

輸入參數dpihelprdlcpagessheetculturemarkdownpicturesfirstPagemadeUpRowsparameterssampleData

describe_report

Outline a report

Outlines a report definition (RDL or RDLC) to plan a change: its page, datasets and fields, parameters, and every item top to bottom with its kind, place and size in cm, what it shows and does (hidden, toggled, page breaks), and its role (title, table, totals, declaration, signature...), which role:signature and the like name in edit_report and validate_report whatever the report calls the item. Returns version (edit_report's baseVersion) and outline; with item, that part's XML as written, with its lines (to copy an edit's find from).

輸入參數itempartrdlc必填detail

edit_report

Change a report

Changes a report definition (RDL, RDLC) given as its XML by operations (the SSRS2 designer's own), all or none. The text is patched (the rest as it was), then checked: its new problems and pages said. The answer's rdlc is the changed report (past 200 KB, url and curl: a download within ten minutes). Operations ("op"): dataset, parameter, page, header, footer, code, textbox, table, matrix, list, chart, gauge, indicator, databar, sparkline, image, barcode, qrbill, subreport, line, rectangle, set, remove, space, move, swap, copy, field, column, remove_column, row, total, group, sort, widths, filter, restyle, palette. A new item goes "after"/"before" an item or a role (role:signature), in a container or at [x, y] cm. help: ["textbox","set"]: their words.

輸入參數fithelprdlccheckeditsdetaildryRunrewritesummarymaxPagespicturesvariants另有 6 個

validate_report

Validate a report

Checks a report definition (RDL or RDLC) or Markdown with SSRS2's engine (Report Viewer's rules): XML, schema, every expression compiled, then a run with rows through every page. Returns ok, a summary and diagnostics (code, severity, item, property, expression, line, message, hint); atRunTime counts what failed as it ran (#Error cells). Call it after each change until ok is true and atRunTime absent. Expressions are Visual Basic and may only compute (restrictedCode). Also layout, expect, variants, rowCounts and the report as it was (baselineRdlc): help: ["checks"].

輸入參數helprdlcexpectlayoutrenderculturemarkdownpicturesvariantsrowCountsmadeUpRowsparameters另有 2 個

版本歷史

2
  1. v1.6.0最新Oct 19, 2026
  2. v1.5.0Oct 14, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。