Tento článek se zabývá problémem formátování nezpracovaných dat JSON do prezentovatelného a snadno srozumitelného formátu sestavy v aplikaci .NET. Data JSON budeme převádět do sestav PDF a DOCX v C# pomocí jednoduchých šablon.

Generujte PDF nebo Word Report z JSON v CSharp

.NET API pro generování sestav

GroupDocs.Assembly for .NET je rozhraní API pro generování sestav a automatizaci dokumentů pro aplikace .NET. Umožňuje generovat sestavy z dat dostupných v různých formátech, jako je JSON, XML nebo CSV, a šablonu v mnoha různých formátech, jako je dokument Word, tabulka, prezentace nebo textový formát. Podporuje také mnoho funkcí formátování zpráv, jako jsou odrážky, číslované seznamy, grafy, tabulky, obrázky, čárové kódy atd.

Můžete si stáhnout DLL nebo instalační program MSI z části ke stažení nebo nainstalovat API do vaší aplikace .NET prostřednictvím NuGet.

PM> Install-Package GroupDocs.Assembly

Vygenerovat zprávu PDF z dat JSON v C#

Začněme kroky, které vás povedou k převodu dat JSON do sestavy ve formátu PDF v C#.

  • Získejte zdroj dat JSON
  • Definujte šablonu podle dat JSON
  • Poskytněte zdroj dat a šablonu JSON jednoduchému kódu C# pro generování sestav.

Data JSON

Za prvé, následující ukázková data JSON se používají pro generování zprávy PDF, která ukazuje manažery a jejich příslušné klienty a podrobnosti.

\[
	{
		"Name":"John Smith","Contract":\[
		{"Client":{"Name":"A Company"},"Price":1200000},
		{"Client":{"Name":"B Ltd."},"Price":750000},
		{"Client":{"Name":"C & D"},"Price":350000}\]
	},
	{
		"Name":"Tony Anderson","Contract":\[
		{"Client":{"Name":"E Corp."},"Price":650000},
		{"Client":{"Name":"F & Partners"},"Price":550000}\]
	},
	{
		"Name":"July James","Contract":\[
		{"Client":{"Name":"G & Co."},"Price":350000},
		{"Client":{"Name":"H Group"},"Price":250000},
		{"Client":{"Name":"I & Sons"},"Price":100000},
		{"Client":{"Name":"J Ent."},"Price":100000}\]
	}
\]

Šablona

Za druhé definujte následující šablonu ve formátu TXT, DOCX nebo v požadovaném formátu. To umožňuje iteraci dat manažerů a jejich příslušných klientů a jejich podrobností. Poté můžete přejít na kód pro generování sestavy.

<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

C# Kroky k převodu JSON do PDF sestavy

Následující kroky kódu C# automatizují převod dat JSON do sestavy PDF podle definované šablony.

  • Definujte data JSON, soubor šablony a cesty k souboru výstupní sestavy PDF.
  • Vytvořte instanci JsonDataSoure s datovým souborem JSON.
  • Vytvořte DataSourceInfo s definovaným JsonDataSource.
  • Zavolejte metodu AssembleDocument třídy DocumentAssembler a vygenerujte sestavu PDF z poskytnutých dat JSON a definované šablony.
// Generujte sestavu PDF z dat JSON pomocí šablony TXT v C# s GroupDocs.Assembly API
// Definujte zdroje dat, šablony a soubory výstupních sestav.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.txt";
const string strDocumentReport = "reportsPath/reportFromJSON.pdf";
// Okamžitý zdroj dat JSON
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Vygenerovat zprávu
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

Kód vytvoří zprávu ve formátu PDF, jak je znázorněno na obrázku výše. Můžete také testovat a výše a podobné příklady z úložiště GitHub.

Generování MS Word Report z dat JSON v C#

Podobně jako při generování zprávy PDF výše můžete vytvořit zprávu DOCX podle následujících kroků:

  • Definování stejné šablony ve formátu DOCX.
  • Nastavte formát dokumentu výstupní sestavy jako DOCX.
  • Zbytek kódu zůstane stejný pro generování zprávy MS Word DOCX z dat JSON.
// Generujte Word Report z dat JSON pomocí šablony DOCX v C# s GroupDocs.Assembly API
// Definujte zdroje dat, šablony a soubory výstupních sestav.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.docx";
const string strDocumentReport = "reportsPath/reportFromJSON.docx";
// Okamžitý zdroj dat JSON
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Vygenerovat zprávu
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

Další podrobnosti, možnosti a příklady naleznete v úložišti dokumentace a GitHub. Pro další dotazy kontaktujte bezplatnou podporu na fóru.

Závěr

V tomto článku jste se naučili převádět data JSON do sestavy PDF ve vaší aplikaci .NET pomocí C#. Dále můžete generovat sestavy v jiných formátech, jako je DOCX, pomocí jiných zdrojů dat, jako jsou CSV a XML. Doufám, že se budete cítit pohodlně při vytváření aplikace generátoru sestav .NET.

Viz také