Datakent Ana Sayfa
Anasayfa Anasayfa > Diğer bölümler > C, C++, Visual C++
  Aktif Konular Aktif Konular RSS: .NET için açık kaynaklı raporlama nesnesi
  Yardım Yardım  Hızlı Ara   Kayıt Ol Kayıt Ol  Giriş Giriş

.NET için açık kaynaklı raporlama nesnesi

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj Tersinden sırala
aziz.alkurt Açılır Menü Göster
Admin Group
Admin Group
Simge

Kayıt Tarihi: 27.Ocak.2012
Bulundugu Yer: FETHİYE
Online: Sitede Değil
Gönderilenler: 26
  Alıntı aziz.alkurt Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: .NET için açık kaynaklı raporlama nesnesi
    Gönderim Zamanı: 31.Ocak.2013 Saat 16:57
FYIREPORT gözlemlerime göre oldukça başarılı bir raporlama nesnesi
 www.fyiReporting.com
Orjinalinde pdf export için türkçe karakter problemi var. Fakat itextsharp ile bu sorun aşılmış.

https://github.com/majorsilence/My-FyiReporting/issues/11

adresindeki kodlarla RdlEngine->RenderPDF içerisindeki bazı fonksiyonları değiştirmeniz gerekiyor.
Öte yandan verilen bu kodda küçük bir hata var.
public void End() fonksiyonu içerisindeki  "byte[] contentbyte = ms.GetBuffer();" kodunu  
byte[] contentbyte = ms.ToArray(); olarak değiştirmemiz gerekiyor.

Birde

else fontname = "\\ariali.ttf"; kodunu else fontname = "\\arial.ttf";

olarak değiştirisek defaultta italik gelmez.

Öte yandan RdlEngine->Report.cs dosyasına

public bool ItextPDF = true;
static DirectoryInfo dirWindowsFolderx = Directory.GetParent(Environment.GetFolderPath(Environment.SpecialFolder.System));
// Concatenate Fonts folder onto Windows folder.
public string FontFolder = Path.Combine(dirWindowsFolderx.FullName, "Fonts");

kodlarını eklememiz gerekiyor.

Birde tabi itextsharp apisini RdlEngine projesine "Add Reference" yapmamız gerekiyor.

Kullanımı designer üzerinden çok basit.

C# ile bir örnek
projeye RdlEngine apisini referans ediyorum.
------------------------------------------------------------------------
RDLParser rdlParser = new RDLParser(File.ReadAllText("d:/x.rdl"));
Report report = rdlParser.Parse();
byte[] bytes=null;
ListDictionary parameters = new ListDictionary();
parameters.Add("REFNO", "2");
report.RunGetData(parameters);
using(MemoryStreamGen ms = new MemoryStreamGen())
{
report.RunRenderPdf(ms, report.BuildPages());
bytes = (ms.GetStream() as MemoryStream).ToArray();
ms.CloseMainStream();
}

------------------------------------------------------------------------
Yukarda verdiğim örnekte önceden yarattığım x.rdl rapor dosyasına "REFNO"->"2"
paremtresi gönderek çalıştırdım. Raporun içerisindeki queryleri REFNO ile bağlantılı
hazırladığım için istediğim tablodaki istediğim bilgileri rapora yazdırabildim. Sonra
onu bytes variablesine export ettim.


Düzenleyen aziz.alkurt - 31.Ocak.2013 Saat 17:08
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Menü Göster



Bu Sayfa 0,340 Saniyede Yüklendi. [power by : WebWiz]