Delphi, C++ Builder & .NET sgcUI'nin parçası

sgcReports, Delphi, C++ Builder & .NET için Rapor Motoru

Bir raporu bir kez tasarlayın ve erişilebilir bir PDF, bir Excel dosyası, bir CSV veya PNG sayfaları olarak teslim edin. Kodda akıcı bir zincirle oluşturun ya da çalışma zamanında bir JSON tanımı yükleyin; gruplar, ara toplamlar, ana ayrıntı ve barkodlar dahildir. Motor pencere ve harici DLL gerektirmez, bu yüzden servislerde ve Linux64 arka plan programlarında çalışır.

Varsayılan olarak PDF/UA-1 etiketli PDFPDF, XLSX, CSV ve PNGWindows servisleri ve Linux64sgcUI Enterprise içinde yer alır
Bir fatura sayfası ve bir QR kodu içeren sgcReports önizleme penceresi

Bir Rapor Motorunun İhtiyaç Duyduğu Her Şey

On bir özellik, her biri gerçek API'si ve arkasındaki yardım konusuyla.

Raporu tasarlayın

Bir raporu gerçek bantlar, gruplar ve ifadelerle kodda veya JSON'da tanımlayın.

Eksiksiz bir raporu birkaç okunaklı satırda yazın

Raporu tasarlayın

Eksiksiz bir raporu birkaç okunaklı satırda yazın

Rapor tasarımcıları, yerleşimin sürüm denetiminde yaşaması, bir pull request'te gözden geçirilmesi veya kendi meta verilerinizden üretilmesi gerekene kadar harikadır. TsgcReportBuilder stilleri, sayfaları, bantları ve öğeleri tek bir akıcı zincir olarak tanımlar; böylece bir rapor, projenizin geri kalanıyla birlikte derlenen, farkı alınan ve yeniden düzenlenen düz koddur. Aynı zincir raporu hazırlar ve her çıktı biçimine kaydeder. Bu şekilde oluşturulan raporlar bir döngüde üretilebilir, fonksiyon olarak paylaşılabilir ve diğer kodlar gibi birim testleriyle kapsanabilir.

  • Style, Page, GroupHeader, MasterData, GroupFooter ve PageFooter yerleşim gibi okunur
  • SaveToPDF, SaveToXLSX, SaveToCSV ve SaveToPNG doğrudan oluşturucudan
  • Web yanıtları için SaveToPDFStream gibi akış varyantları
  • Oluşturucu, kodda yine ayarlayabileceğiniz normal bir TsgcReport modelini doldurur
  • Arapça ve İbranice için sağdan sola: rapordaki RightToLeft ile bantlar ve öğelerdeki BiDiMode yerleşimi yansıtır, PDF, XLSX ve HTML çıktılarında Arapça ve İbranice metin şekillendirilir
Yardım konusunu okuyun
Kendiliğinden çalışan gruplar, ara toplamlar ve sayfa numaraları

Raporu tasarlayın

Kendiliğinden çalışan gruplar, ara toplamlar ve sayfa numaraları

İş raporları nadiren düz bir liste olur: bölgeye göre satışlar, müşteriye göre faturalar, depoya göre stok. sgcReports; rapor başlığı, sayfa üst bilgisi, grup üst bilgisi, veri, grup alt bilgisi, sayfa alt bilgisi ve özet bantlarıyla gerçek bir bantlı yerleşime sahiptir. Bir grup, ifadesi değiştiğinde kırılır, kendi toplamlarını yazdırır ve yeni bir sayfa başlatabilir ya da üst bilgisini her sayfada tekrarlayabilir; böylece uzun raporlar okunaklı kalır. Alt raporlar, özetler ve ekler için bir sayfanın başka bir sayfanın yerleşimini içermesini sağlar.

  • Bir grup üst bilgi bandında GroupExpression, iki veya daha fazla düzey için iç içe gruplar
  • StartNewPage, RepeatOnEveryPage ve KeepTogether sayfa akışını denetler
  • rbtReportTitle ile rbtReportSummary arasındaki bant türleri, ayrıca sütun üst ve alt bilgileri
  • "Sayfa 2 / 7" alt bilgileri için ifadelerde TotalPages
  • PrintOnFirstPage ve PrintOnLastPage sayfa bantlarının nerede görüneceğine karar verir; SubreportPageName başka bir sayfayı gömer
Yardım konusunu okuyun
Faturalar doğrudan veritabanınızdan

Raporu tasarlayın

Faturalar doğrudan veritabanınızdan

Bir fatura, satırlarıyla birlikte bir ana kayıttır ve her satırın doğru ürüne, miktara ve fiyata ihtiyacı vardır. Bir dataset kaynağı, FireDAC dahil herhangi bir TDataSet'i bağlar ve bir ayrıntı kaynağını anahtar alanlarla ana kaynağına bağlar; böylece her fatura kendi satırlarını ve toplamlarını yazdırır. JSON dizileri ve kendi olay tabanlı kaynaklarınız, veri bir veritabanında durmadığında aynı şekilde çalışır. Ayrıntı bandı geçerli ana kaydın her satırı için tekrarlanır ve alt bilgi, satırlar üzerinde bir toplama ifadesiyle fatura toplamını yazdırır.

  • MasterSource, MasterFields ve DetailFields ile TsgcReportDataSetSource
  • TsgcReportJSONSource bir JSON dizesini veya dosyasını okur, RecordsPath diziyi seçer
  • TsgcReportEventSource satırları kodunuzdan OnFirst, OnNext ve OnGetValue ile çeker
  • Kaynaklar motora AddDataSource ile kaydedilir
Yardım konusunu okuyun
Bir raporu yeniden derlemeden değiştirin

Raporu tasarlayın

Bir raporu yeniden derlemeden değiştirin

Aylık ekstredeki yeni bir sütun, uygulamanızın yeni bir sürümünü gerektirmemelidir. Rapor tanımları JSON olarak kaydedilip yüklenebilir; böylece yerleşimler bir veritabanında, bir yapılandırma klasöründe veya müşteriye özel bir dizinde durabilir. Uygulama tanımı çalışma zamanında yükler, veriyi bağlar ve çizer; aynı dosya web tasarımcısını da besler. Tanımlar düz metindir, bu yüzden sürüm denetiminde temiz karşılaştırılır, kendi araçlarınızla üretilebilir veya bir betikle taşınabilir.

  • sgcReportLoadFromJSON ve sgcReportSaveToJSON, ayrıca dosya ve akış varyantları
  • sgcReportGenerateSchema editörler ve doğrulama için bir JSON şeması yazar
  • Hatalar, sorunlu üyenin JSON yolunu belirtir
  • ReportJSONDefinition demosu bir tanımı ve verisini yan yana düzenler
Yardım konusunu okuyun
Her bantta ifadeler ve barkodlar

Raporu tasarlayın

Her bantta ifadeler ve barkodlar

Toplamlar, biçimlendirilmiş tarihler, koşullu metin ve sevkiyat etiketleri ifadelere ve barkodlara dayanır. Herhangi bir metin öğesi köşeli parantez içinde ifadeler barındırabilir, örneğin bir alanın biçimlendirilmiş toplamı; dize, sayı ve tarih fonksiyonları yerleşiktir. Barkodlar da öğedir ve sgcPDF motoru tarafından vektör olarak çizilir, bu yüzden etiketler ve irsaliyeler her boyutta keskin basılır. İfadeler motor tarafından her satır için değerlendirilir; bu nedenle bir alt bilgi toplamı her zaman üstte basılan satırlarla eşleşir.

  • Toplamalar ve fonksiyonlar: Sum, FormatFloat, FormatDateTime, Upper, Round, IsNull
  • OnGetVariable kendi değişkenlerinizi çalışma zamanında sağlar
  • Oluşturucuda Barcode: rbsCode128, rbsEAN13, rbsQRCode, rbsDataMatrix, rbsPDF417 ve daha fazlası
  • Lojistik etiketleri için GS1-128, ITF, Codabar, UPC-A ve Code 39
Yardım konusunu okuyun

Her yere teslim edin

Bir kez hazırlayın, sonra kullanıcılarınızın ve düzenleyicilerin istediği biçimlere aktarın.

Varsayılan olarak erişilebilir PDF, istek üzerine PDF/A

Her yere teslim edin

Varsayılan olarak erişilebilir PDF, istek üzerine PDF/A

Kamu kurumları ve birçok şirket artık ekran okuyucuların izleyebildiği belgeler yayımlamak zorunda ve arşivlerin yirmi yıl sonra hâlâ açılan dosyalara ihtiyacı var. PDF dışa aktarma varsayılan olarak mantıksal bir okuma sırası, görüntüler için alternatif metin ve işaretli başlıklarla etiketli PDF/UA-1 yazar. Belge uzun süreli bir arşive gidiyorsa PDF/A-3'ü açın. Delphi ve .NET'te dışa aktarma ayrıca PDF/A-4 ve PDF/UA-2 yazar. Yazı tipleri önizlemenin kullandığı aynı yazı tipi yöneticisi üzerinden gömülür ve yardım, bir dosyanın ücretsiz veraPDF aracıyla doğrulanmasını adım adım anlatır.

  • TsgcReportPDFExport üzerinde PDFUA varsayılan olarak True değerindedir
  • Öğelerde AltText ve TagRole görüntüleri ve başlıkları tanımlar
  • Arşiv çıktısı için PDFA değeri rpaA3b veya rpaA3a yapılır
  • FixedDocumentID ve FixedCreationDate çıktıyı testler için bayt bayt yeniden üretilebilir yapar
Yardım konusunu okuyun
Tek rapor, kullanıcılarınızın istediği her biçim

Her yere teslim edin

Tek rapor, kullanıcılarınızın istediği her biçim

Finans ekstreyi Excel'de, müşteri bir PDF'i, entegrasyon bir CSV'yi ve web sayfası bir küçük resmi ister. Motor sayfaları bir kez hazırlar ve her dışa aktarma aynı hazırlanmış sonuçtan çalışır; bu yüzden sayılar her dosyada aynıdır. XLSX çıktısı sayıları sayı olarak tutar, böylece elektronik tablo onları temizlik yapmadan toplayabilir. Her dışa aktarma bir akışa da yazabilir; bir web yanıtının ya da bir e-posta ekinin ihtiyacı budur ve SaveToFiles tek çağrıda birkaç biçim yazar.

  • TsgcReportPDFExport, TsgcReportXLSXExport, TsgcReportCSVExport, TsgcReportImageExport
  • LoadPrepared ile TsgcReportPreparedPages tek bir çalıştırmadan birkaç dışa aktarmayı besler
  • DetectNumbers, SheetName ve ExcludePageBands elektronik tabloyu biçimlendirir
  • SaveToPNG metoduna ilettiğiniz DPI değerinde PNG sayfaları
Yardım konusunu okuyun
Masaüstü uygulamaları için bir önizleme penceresi

Her yere teslim edin

Masaüstü uygulamaları için bir önizleme penceresi

Kullanıcılar yazdırmadan veya kaydetmeden önce raporu sayfa sayfa gezmek ister. Önizleme denetimi hazırlanmış sayfaları PDF ile aynı çizimle, sayfa gezintisi, yakınlaştırma ve sığdırma modları ve kendi araç çubuğunuzu yaparken gizleyebileceğiniz bir araç çubuğuyla gösterir. VCL önizleme Windows'ta çalışır; FireMonkey önizleme Windows'ta çalışır. Önizleme sgcPDF görüntüleyici denetimi üzerinden çizer; böylece kullanıcıların ekranda gördüğü, PDF dışa aktarmanın yazdığıdır ve önizlemedeki SaveToPDF baktıkları sayfaları kaydeder.

  • FirstPage, NextPage, PriorPage ve LastPage ile TsgcReportPreviewVCL
  • ZoomIn, ZoomOut, FitWidth ve FitPage
  • Kendi gezintiniz için ShowToolbar, CurrentPage ve OnPageChange
  • TsgcReportPreviewFMX: Windows'ta FireMonkey önizleme
Yardım konusunu okuyun

Her yere teslim edin

Servislerde ve Linux arka plan programlarında arayüzsüz çalışır

Bugün raporların çoğu bir sunucuda üretilir: gece ekstreleri, ödeme sonrası faturalar, bir API arkasındaki dışa aktarmalar. sgcReports çekirdeği VCL veya FireMonkey bağımlılığına sahip değildir ve harici DLL ya da yazıcı sürücüsü gerektirmez; bu yüzden aynı kod bir Windows servisinde veya bir Linux64 arka plan programında çalışır. Yardım, her iş parçacığının kendi motoruna sahip olduğu bir çalışan havuzu desenini belgeler. İşler, veriler ve rapor tanımları JSON dosyası olarak gelebilir; böylece bir arka plan programı dosya yazabilen herhangi bir sistemle beslenebilir.

  • TsgcReportEngine raporları pencere olmadan hazırlar
  • ReportLinuxDaemon demosu bir iş klasörünü izler ve 4 çalışan iş parçacığıyla PDF, XLSX, CSV veya PNG çizer
  • sgcReportsConfigureForServer Windows'ta çok sayıda iş parçacığı için bellek yöneticisini ayarlar
  • Paylaşılan, salt okunur bir TsgcReportFontManager her iş parçacığına hizmet verir
Yardım konusunu okuyun

Webde raporlar

sgcReportsHTML köprüsü raporları HTTP üzerinden sunar ve kullanıcıların yerleşimleri tarayıcıda düzenlemesini sağlar.

Webde raporlar Yalnızca Kayıtlı

Raporları HTTP üzerinden sunun

Bir web portalı, bir intranet veya bir mobil uygulama çoğu zaman yalnızca raporu döndüren bir URL'ye ihtiyaç duyar. HTTP uç noktası raporları bir sgcWebSockets HTTP sunucusuna adla kaydeder ve PDF, XLSX, CSV veya PNG olarak sunar; parametreleri soran, sonucu sayfa sayfa gezdiren ve indirmeleri sunan bir HTML görüntüleyici de vardır. Kodunuz her çalıştırmadan önce bir olayda verileri doldurur. Uç nokta, masaüstü kodunuzla aynı rapor tanımlarını ve veri kaynaklarını kullanır; bu yüzden bir kez yazılan rapor hem uygulamaya hem tarayıcıya hizmet eder.

  • RegisterReport ve BasePath ile TsgcReportHTTPEndpoint
  • OnBeforePrepare parametreleri ve verileri istek başına ayarlar
  • Bir parametre formu için ShowParameters ile TsgcReportHTMLViewer
  • TsgcWebSocketHTTPServer üzerinde çalışır; ReportHTTPServer demosu eksiksiz bir sunucudur

Delphi ve C++ Builder: sgcWebSockets Professional veya üstü ile sgcHTML gerektirir. .NET: esegece.sgcReports.HTML ve AspNetCore paketleri aynı rotaları barındırır.

Yardım konusunu okuyun

Webde raporlar Yalnızca Kayıtlı

Kullanıcılarınız için bir web rapor tasarımcısı

İleri düzey kullanıcılar hep bir sütun daha veya farklı bir gruplama ister ve her değişiklik eskiden geliştiriciler için bir talepti. Tarayıcı tasarımcısı, bir raporun JSON tanımını bir bant tuvali, bir özellik denetçisi ve canlı bir önizlemeyle düzenler ve bunu bitmiş raporla aynı uç nokta sunar. Kimin düzenleyebileceğine siz karar verirsiniz ve kaydedilen tanımlar sgcReports'un diğer her bölümünde yüklenir. Bir JSON indir düğmesi tanımı saklamak isteyen herkese verir.

  • DesignerEnabled ile bir uç noktada TsgcReportHTMLDesigner
  • Sayfa, bant ve öğe ağacı, milimetre cinsinden sürükleme, boyutlandırma ve yaslama, geri alma ve yineleme
  • Rapor JSON şemasından üretilen özellik denetçisi; sunucu tarafı doğrulama alanı işaret eder
  • Kaydedilen tanımlar Linux arka plan programı dahil her yerde sgcReportLoadFromJSON ile yüklenir

DesignerEnabled özelliğini üretim uç noktalarında kapalı tutun ve kendi kimlik doğrulamanızın arkasına koyun.

Yardım konusunu okuyun

sgcReports iş başında

sgcUI paket demolarında sgcReports: yerleşik simüle verilerle çevrimdışı çalışan eksiksiz uygulamalar.

sgcReports ile Kimler Geliştirme Yapıyor

Faturalar, irsaliyeler ve ekstreler

İş uygulamaları her gün veritabanlarından belge yazdırır. Ana ayrıntılı bir dataset kaynağı her faturayı satırlarına bağlar, gruplar ve alt bilgiler toplamları yazdırır, etikete bir QR kodu veya GS1-128 barkodu konur ve PDF dışa aktarma e-postaya hazır erişilebilir bir dosya yazar. Aynı rapor muhasebe ekibi için XLSX olarak kaydedilir.

  • Ana ayrıntı
  • Gruplar ve ara toplamlar
  • Barkodlar
  • Erişilebilir PDF
ReportInvoice demosunu çalıştırın

Web portalları için sunucu tarafı raporlar

Müşteri portalları ve dahili API'ler talep üzerine rapora ihtiyaç duyar. Raporları HTTP uç noktasına kaydedin; tarayıcı parametreli ve indirmeli bir görüntüleyici alır ya da motoru, kuyruğa alınmış işleri bir çalışan havuzuyla çizen bir Linux64 arka plan programında çalıştırın. Yazıcı sürücüsü, pencere ve harici DLL söz konusu değildir. Aynı JSON tanımları hem görüntüleyiciye hem arka plan programına hizmet eder.

  • Raporları HTTP üzerinden sunun
  • Linux arka plan programı
  • JSON tanımları
ReportHTTPServer demosunu çalıştırın

Erişilebilirlik ve arşivleme yükümlülükleri

Kamu sektörü tedarikçileri ve düzenlemeye tabi şirketler, ekran okuyucuların izleyebildiği belgeler yayımlamak ve onları yıllarca arşivlemek zorundadır. Etiketli PDF/UA-1 çıktısı varsayılandır, alternatif metin ve başlık rolleri rapor öğelerinde yer alır ve PDF/A-3 tek bir özellik uzağındadır. Yardım sonucun ücretsiz veraPDF doğrulayıcısıyla nasıl denetleneceğini gösterir. Yeniden üretilebilir çıktı, otomatik testlerin dosyaları karşılaştırmasına yardımcı olur.

  • Erişilebilir PDF
  • PDF/A-3
  • Yeniden üretilebilir çıktı
ReportPDFUA demosunu çalıştırın

A Grouped Sales Report in a Few Lines

The same API in Delphi, C++ Builder and C#: a header per region, a line per sale and a subtotal per region, saved as PDF, XLSX and CSV.

A fluent report over a JSON source: one group per region with a subtotal, saved as PDF, XLSX and CSV.

uses
  Classes, SysUtils,
  sgcReports_Types, sgcReports_Model, sgcReports_Data, sgcReports_Fluent;

const
  CS_SALES = '[' +
    '{"Region":"East","Customer":"Acme Corp","Amount":1450.00},' +
    '{"Region":"East","Customer":"Blue Harbor","Amount":600.00},' +
    '{"Region":"North","Customer":"Nordic Labs","Amount":2100.75},' +
    '{"Region":"North","Customer":"Fjord Ltd","Amount":880.20}]';
  CS_TOTAL = '[FormatFloat(''#,0.00'', Sum(Sales.Amount))]';

procedure ExportSalesReport(const aFolder: string);
var
  oSales: TsgcReportJSONSource;
  oBuilder: TsgcReportBuilder;
begin
  oSales := TsgcReportJSONSource.Create(nil);
  oBuilder := TsgcReportBuilder.Create;
  try
    oSales.SourceName := 'Sales';
    oSales.JSON := CS_SALES;
    oBuilder.Title('Sales by region').Author('eSeGeCe').Units(ruMillimeters)
      .Style('Base').Font('Arial', 10).EndStyle
      .Style('Group').Font('Arial', 11).Bold.BackColor($EEEEEE).EndStyle
      .Page.Paper(rpsA4).Margins(15)
      // one header per region, one line per sale, a subtotal per region
      .GroupHeader('Sales.Region', 9).Style('Group')
      .Text('Region: [Sales.Region]', 0, 1, 180, 7).TagRole(rtrHeading2).EndBand
      .MasterData('Sales', 6).Style('Base')
      .Text('[Sales.Customer]', 2, 0, 120, 6)
      .Text('[Sales.Amount]', 130, 0, 50, 6).AlignRight.Format('#,0.00').EndBand
      .GroupFooter(9).Style('Base')
      .Text('Region total ' + CS_TOTAL, 80, 1, 100, 6).AlignRight.Bold.EndBand
      .PageFooter(8).Style('Base')
      .Text('Page [Page] of [TotalPages]', 0, 1, 180, 6).AlignCenter.EndBand
      .EndPage.Data(oSales);
    // accessible PDF (PDF/UA is on by default), plus the same data as Excel
    oBuilder.SaveToPDF(IncludeTrailingPathDelimiter(aFolder) + 'sales.pdf');
    oBuilder.SaveToXLSX(IncludeTrailingPathDelimiter(aFolder) + 'sales.xlsx');
    oBuilder.SaveToCSV(IncludeTrailingPathDelimiter(aFolder) + 'sales.csv');
  finally
    oBuilder.Free;
    oSales.Free;
  end;
end;

Yardım konusunu okuyun →

The same report in C++ Builder with the generated sgcReports headers.

#include <vcl.h>
#include "sgcReports_Types.hpp"
#include "sgcReports_Model.hpp"
#include "sgcReports_Data.hpp"
#include "sgcReports_Fluent.hpp"

void ExportSalesReport(const String Folder)
{
  const String Total = "[FormatFloat('#,0.00', Sum(Sales.Amount))]";
  TsgcReportJSONSource *Sales = new TsgcReportJSONSource(NULL);
  TsgcReportBuilder *Builder = new TsgcReportBuilder();
  try
  {
    Sales->SourceName = "Sales";
    Sales->JSON = "[{\"Region\":\"East\",\"Customer\":\"Acme Corp\",\"Amount\":1450.00},"
                  "{\"Region\":\"East\",\"Customer\":\"Blue Harbor\",\"Amount\":600.00},"
                  "{\"Region\":\"North\",\"Customer\":\"Nordic Labs\",\"Amount\":2100.75}]";
    Builder->Title("Sales by region")->Author("eSeGeCe")->Units(ruMillimeters)
      ->Style("Base")->Font("Arial", 10)->EndStyle()
      ->Style("Group")->Font("Arial", 11)->Bold()->BackColor(0xEEEEEE)->EndStyle()
      ->Page("")->Paper(rpsA4, roPortrait)->Margins(15)
      // one header per region, one line per sale, a subtotal per region
      ->GroupHeader("Sales.Region", 9)->Style("Group")
      ->Text("Region: [Sales.Region]", 0, 1, 180, 7)->TagRole(rtrHeading2)->EndBand()
      ->MasterData("Sales", 6)->Style("Base")
      ->Text("[Sales.Customer]", 2, 0, 120, 6)
      ->Text("[Sales.Amount]", 130, 0, 50, 6)->AlignRight()->Format("#,0.00")->EndBand()
      ->GroupFooter(9)->Style("Base")
      ->Text("Region total " + Total, 80, 1, 100, 6)->AlignRight()->Bold()->EndBand()
      ->EndPage()->Data(Sales);
    // accessible PDF (PDF/UA is on by default), plus the same data as Excel
    Builder->SaveToPDF(IncludeTrailingPathDelimiter(Folder) + "sales.pdf");
    Builder->SaveToXLSX(IncludeTrailingPathDelimiter(Folder) + "sales.xlsx");
    Builder->SaveToCSV(IncludeTrailingPathDelimiter(Folder) + "sales.csv");
  }
  __finally
  {
    delete Builder;
    delete Sales;
  }
}

Yardım konusunu okuyun →

The same builder chain in C#, with the same class names as Delphi.

using System.IO;
using esegece.sgcReports;

public static class SalesReport
{
    const string Sales = "[" +
        "{\"Region\":\"East\",\"Customer\":\"Acme Corp\",\"Amount\":1450.00}," +
        "{\"Region\":\"East\",\"Customer\":\"Blue Harbor\",\"Amount\":600.00}," +
        "{\"Region\":\"North\",\"Customer\":\"Nordic Labs\",\"Amount\":2100.75}," +
        "{\"Region\":\"North\",\"Customer\":\"Fjord Ltd\",\"Amount\":880.20}]";
    const string Total = "[FormatFloat('#,0.00', Sum(Sales.Amount))]";

    public static void Export(string aFolder)
    {
        using (TsgcReportJSONSource oSales = new TsgcReportJSONSource())
        using (TsgcReportBuilder oBuilder = new TsgcReportBuilder())
        {
            oSales.SourceName = "Sales";
            oSales.JSON = Sales;
            oBuilder.Title("Sales by region").Author("eSeGeCe").Units(TsgcReportUnits.ruMillimeters)
                .Style("Base").Font("Arial", 10).EndStyle()
                .Style("Group").Font("Arial", 11).Bold().BackColor(0xEEEEEE).EndStyle()
                .Page().Paper(TsgcReportPaperSize.rpsA4).Margins(15)
                // one header per region, one line per sale, a subtotal per region
                .GroupHeader("Sales.Region", 9).Style("Group")
                .Text("Region: [Sales.Region]", 0, 1, 180, 7)
                .TagRole(TsgcReportTagRole.rtrHeading2).EndBand()
                .MasterData("Sales", 6).Style("Base")
                .Text("[Sales.Customer]", 2, 0, 120, 6)
                .Text("[Sales.Amount]", 130, 0, 50, 6).AlignRight().Format("#,0.00").EndBand()
                .GroupFooter(9).Style("Base")
                .Text("Region total " + Total, 80, 1, 100, 6).AlignRight().Bold().EndBand()
                .EndPage().Data(oSales);
            // accessible PDF (PDF/UA is on by default), plus the same data as Excel
            oBuilder.SaveToPDF(Path.Combine(aFolder, "sales.pdf"));
            oBuilder.SaveToXLSX(Path.Combine(aFolder, "sales.xlsx"));
            oBuilder.SaveToCSV(Path.Combine(aFolder, "sales.csv"));
        }
    }
}
dotnet add package esegece.sgcReports

Yardım konusunu okuyun →

sgcReports Demolarını Çalıştırın

sgcReports ile on Delphi demosu, sekiz C++ Builder demosu ve on .NET demosu gelir. Aşağıdaki kartlar Delphi projeleridir; çoğunun aynı adlı bir C++ Builder ve bir .NET karşılığı vardır.

ReportInvoice

ReportInvoice

Datasetlerden ana ayrıntılı bir fatura: başlık, satırlar, toplamlar ve bir QR kodu, önizlemede ve PDF olarak.

ReportGroups

ReportGroups

Bölgeye göre gruplanmış satışlar; grup üst bilgileri, ara toplamlar ve özet bandında bir genel toplam.

ReportFluent

ReportFluent

Akıcı oluşturucuyla yazılmış eksiksiz bir rapor, ardından her biçime aktarılır.

ReportJSONDefinition

ReportJSONDefinition

İki not defterinde bir JSON tanımını ve verisini düzenleyip çizin; hatalar JSON yolunu işaret eder.

ReportPDFUA

ReportPDFUA

Alternatif metin ve başlık rolleriyle etiketli PDF/UA-1 çıktısı, veraPDF denetimine hazır.

ReportExports

ReportExports

Hazırlanmış tek bir rapor PDF, XLSX, CSV ve PNG dosyaları olarak yazılır.

ReportDatabaseSQL

ReportDatabaseSQL

Dataset kaynakları üzerinden SQL sorgularıyla beslenen bir rapor.

ReportMobileFMX

Sayfa gezintili FireMonkey önizleme. FireMonkey önizleme Windows'ta çalışır.

ReportLinuxDaemon

Kuyruğa alınmış JSON işlerini bir çalışan iş parçacığı havuzuyla çizen, Windows ve Linux64 için bir konsol arka plan programı.

Yalnızca Kayıtlı ReportHTTPServer

Tarayıcı görüntüleyicisi, parametreler ve indirmelerle HTTP üzerinden sunulan raporlar. sgcWebSockets ve sgcHTML gerektirir.

Derlenmiş demolar

Her sgcUI ürününün çalıştırmaya hazır yürütülebilir dosyaları, kurulum gerektirmez.

sgcUI_bin.zip dosyasını indirin →

sgcReports Hangi Sürümlerde Yer Alıyor

sgcReports, sgcUI Enterprise'a dahildir ve ayrıca tek başına da satılır. PDF çıktısı ve barkodlar için sgcPDF motorunu kullanır, bu yüzden sgcPDF her yapılandırmada gereklidir. sgcReports ayrıca All-Access paketine de dahildir.

sgcReports tek paket

€199 / geliştirici, tam kaynak kodu, 1 yıl güncelleme.

sgcReports satın alın → Fiyatlandırmayı görün →

sgcUI Enterprise

Tüm 14 sgcUI ürünü, €699 fiyatından başlayarak.

Enterprise sürümüne bakın →

Ücretsiz .NET Community paketleri (esegece.sgcReports.Community, .WinForms.Community, .HTML.Community, .AspNetCore.Community) motoru, dışa aktarmaları ve önizlemeyi içerir. Delphi'de Community yükleyicisi sgcReports'u yalnızca lisanslı bir sgcPDF kuruluysa sunar. Delphi ve C++ Builder için sgcReportsHTML köprüsü yalnızca Kayıtlıdır.

ÖzellikCommunity (ücretsiz)Kayıtlı
Akıcı oluşturucu, rapor modeli ve JSON tanımları✓✓
Bantlar, gruplar, ana ayrıntı ve ifadeler✓✓
Barkodlar✓✓
PDF/UA ve PDF/A-3 dışa aktarma✓✓
XLSX, CSV ve PNG dışa aktarma✓✓
WinForms önizleme✓✓
Servisler ve Linux için arayüzsüz motor✓✓
Delphi ve C++ Builder için sgcReportsHTML köprüsü (HTTP uç noktası, görüntüleyici, web tasarımcısı)−✓

Desteklenen Framework'ler ve Platformlar

sgcReports İçindeki Bileşenler

Motor ve model

TsgcReport, TsgcReportEngine ve akıcı TsgcReportBuilder.

Veri kaynakları

TsgcReportDataSetSource, TsgcReportJSONSource ve TsgcReportEventSource.

Dışa aktarmalar

TsgcReportPDFExport, TsgcReportXLSXExport, TsgcReportCSVExport ve TsgcReportImageExport.

Önizleme

TsgcReportPreviewVCL ve TsgcReportPreviewFMX, Windows'ta çalışan FireMonkey önizleme.

sgcReportsHTML köprüsü

TsgcReportHTTPEndpoint, TsgcReportHTMLViewer ve TsgcReportHTMLDesigner. sgcWebSockets Professional veya üstü ile sgcHTML gerektirir. Kayıtlı

.NET

esegece.sgcReports ad alanında aynı sınıf adları: oluşturucu, kaynaklar, motor ve dışa aktarmalar.

HedefBileşenPlatformlar
Delphi 7'den 13'eModel, ifadeler, veri, yerleşim, motor ve dışa aktarmalarWindows, Linux64, macOS, iOS ve Android
C++ Builder 2007'den 13'eAynı sınıflarÜretilen .hpp başlıkları ve statik kütüphaneler
VCL önizlemeTsgcReportPreviewVCLWindows
FireMonkey önizlemeTsgcReportPreviewFMXWindows
.NETOluşturucu, kaynaklar, motor, dışa aktarmalar ve WinForms önizlemeWindows, ayrıca Linux'ta arayüzsüz kullanım

Sık Sorulan Sorular

Evet, her zaman. sgcReports PDF yazar ve barkodları sgcPDF motoruyla çizer. sgcUI Enterprise ikisini de içerir. Delphi Community yükleyicisinde sgcReports yalnızca lisanslı bir sgcPDF kuruluysa sunulur. Erişilebilir PDF dosyalarının etiketli yapısını çizen de PDF motorudur.

Evet, tarayıcıda. sgcReportsHTML köprüsündeki TsgcReportHTMLDesigner JSON rapor tanımlarını bir bant tuvali, bir özellik denetçisi ve canlı bir önizlemeyle düzenler. Kodda akıcı oluşturucu ve JSON tanımları aynı modeli kapsar. Kaydedilen tanımlar masaüstü uygulamalarında, servislerde ve arka plan programlarında aynı şekilde yüklenir.

Evet. Çekirdekte VCL veya FireMonkey bağımlılığı ve harici DLL yoktur; bu yüzden motor ve dışa aktarmalar Linux64 konsol uygulamalarında ve arka plan programlarında çalışır. ReportLinuxDaemon demosu ve Linux arka plan programı konusu bir systemd birimi içerir. Aynı kod Windows servislerinde de çalışır.

PDF (varsayılan olarak etiketli PDF/UA-1, istek üzerine PDF/A-3), XLSX, CSV ve PNG sayfaları. Hepsi aynı hazırlanmış sayfalardan çalışır; bu yüzden bir rapor bir kez hazırlanır ve istediğiniz kadar dışa aktarılır. Her dışa aktarma, web yanıtları ve e-posta ekleri için bir dosyaya veya bir akışa yazabilir.

Evet, iş parçacığı başına bir motorla. Her çalışan kendi raporunu, motorunu, veri kaynaklarını ve dışa aktarmalarını oluşturur; yazı tipi yöneticisi ve salt okunur bir JSON tanımı paylaşılabilir. İş Parçacığı Güvenliği konusu çalışan havuzu desenini gösterir. Bir Windows sunucusu, çok sayıda iş parçacığı için başlangıçta bir kez sgcReportsConfigureForServer da çağırabilir.

Evet. Rapor tanımlarını JSON olarak saklayın ve çalışma zamanında sgcReportLoadFromJSON ile yükleyin; böylece yeni bir yerleşim yeni bir derleme gerektirmez. Kullanıcılar bunları web tasarımcısında düzenleyebilir ya da uygulamanız üretebilir. Yükleme sırasındaki hatalar sorunlu üyenin JSON yolunu belirtir; bu da müşteriye özel yerleşimlerin desteklenmesini kolaylaştırır.

Evet. TsgcReportPreviewVCL hazırlanmış sayfaları gezinti, yakınlaştırma ve sığdırma modlarıyla gösterir. TsgcReportPreviewFMX Windows'ta FireMonkey önizlemedir ve .NET'te bir WinForms önizleme vardır. Önizleme sgcPDF görüntüleyici denetimi üzerinden çizer, bu yüzden ekran PDF dışa aktarmayla eşleşir.

sgcReports Yardımı

3,000+Geliştirici
20+Yıl
761+Bileşen
30+API Entegrasyonu
5Platform
30 Günlük Para İade GarantisiMemnun kalmadınız mı? Satın alımdan sonraki 30 gün içinde tam para iadesi talep edin. İade politikasına bakın

sgcReports'u Bugün Deneyin

sgcUI denemesi sgcReports'u, sgcPDF'i ve diğer tüm sgcUI ürünlerini içerir.