- Samsung Galaxy S23 Ultra - non plus ultra
- Ezek az új Google Pixel cuccok hivatalos magyar árai
- iPhone topik
- One mobilszolgáltatások
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Nothing Phone (3) – tervezett kaotika
- Telekom mobilszolgáltatások
- Xiaomi 13 - felnőni nehéz
- Xiaomi 14T Pro - teljes a család?
- Lesz Xperia 10 VII, méghozzá újratervezett külsővel
Új hozzászólás Aktív témák
-
NoMan
csendes tag
Sziasztok,
Az alábbi osztály (MSDN-ről szedtem) segítségével kezdeményezem az elkészített, feltöltött RDLC nyomtatását Visual Studio 2012-ban. A gondom ezzel az, hogy az Export metódus report.render hívása 5 másodpercig is elszórakozik, mire elkészül, és valóban megkezdődik a nyomtatás, még abban az esetben is, ha csak 1 sornyi adatot kell rendelni és nyomtatni. Mitől lehet lassú ez a folyamat? Hogyan lehet ez gyorsítani? Előre is köszönöm a segítséget!
public class Printer : IDisposable
{
private int m_currentPageIndex;
private IList<Stream> m_streams;
// Routine to provide to the report renderer, in order to
// save an image for each page of the report.
private Stream CreateStream(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
{
Stream stream = new FileStream(@"..\..\" + name + "." + fileNameExtension, FileMode.Create);
m_streams.Add(stream);
return stream;
}
// Export the given report as an EMF (Enhanced Metafile) file.
private void Export(LocalReport report)
{
string deviceInfo =
"<DeviceInfo>" +
" <OutputFormat>EMF</OutputFormat>" +
" <PageWidth>8.5in</PageWidth>" +
" <PageHeight>11in</PageHeight>" +
" <MarginTop>0.25in</MarginTop>" +
" <MarginLeft>0.25in</MarginLeft>" +
" <MarginRight>0.25in</MarginRight>" +
" <MarginBottom>0.25in</MarginBottom>" +
"</DeviceInfo>";
Warning[] warnings;
m_streams = new List<Stream>();
report.Render("Image", deviceInfo, CreateStream, out warnings);
foreach (Stream stream in m_streams)
stream.Position = 0;
}
// Handler for PrintPageEvents
private void PrintPage(object sender, PrintPageEventArgs ev)
{
Metafile pageImage = new Metafile(m_streams[m_currentPageIndex]);
ev.Graphics.DrawImage(pageImage, ev.PageBounds);
m_currentPageIndex++;
ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
}
private void Print()
{
PrinterSettings printerSettings = new PrinterSettings();
//string printerName = printerSettings.PrinterName;
const string printerName = "Microsoft XPS Document Writer";
if (m_streams == null || m_streams.Count == 0) return;
PrintDocument printDoc = new PrintDocument();
printDoc.PrinterSettings.PrinterName = printerName;
if (!printDoc.PrinterSettings.IsValid)
{
string msg = String.Format("Can't find printer \"{0}\".", printerName);
MessageBox.Show(msg, "Print Error");
return;
}
printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
printDoc.Print();
}
// Create a local report for Report.rdlc, load the data,
// export the report to an .emf file, and print it.
public void Run(LocalReport report)
{
Export(report);
m_currentPageIndex = 0;
Print();
}
public void Dispose()
{
if (m_streams != null)
{
foreach (Stream stream in m_streams)
stream.Close();
m_streams = null;
}
}
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung Galaxy S23 Ultra - non plus ultra
- Autóápolás, karbantartás, fényezés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Autós topik
- Ezek az új Google Pixel cuccok hivatalos magyar árai
- Milyen billentyűzetet vegyek?
- E-roller topik
- Kerékpárosok, bringások ide!
- Gaming notebook topik
- Villanyszerelés
- További aktív témák...
- Razer Viper Mini
- EK-Quantum Velocity RGB - Full Nickel - LGA1700-hoz is!
- Újszerű Creality K1 MAX + CFS garanciális, nyomtatótér: 300 x 300 x 300 mm 160 óra üzemidő
- Extrém teljesítményű gamer PC (AMD Ryzen 7 5700X, Radeon RX 7900 XTX) LEGJOBB ÁR/ÉRTÉK ARÁNY!
- Garanciális Gamer Számítógép, PC (RTX 3060Ti, I5-10400, 16GB Ram, SSD) Beszámítás! Posta ok! (37)
- Asus ROG Flow Z13 WUXGA 120Hz 2in1 Touch i9-12900H 14mag 16GB 512GB Nvidia RTX 3050Ti W11 Garancia
- GYÖNYÖRŰ iPhone 13 mini 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3061, 96% Akkumulátor
- AKCIÓ! EZÜST! RITKASÁG! Surface Pro 11 Qualcomm Snapdragon X Elite 16GB 512GB OLED 120Hz Gar!
- HP EliteBook 830 G8 i5-1135G7 16GB 256GB 1 év garancia
- Bomba ár! Lenovo ThinkPad Yoga 260 - i5-G6 I 8GB I 256SSD I 12,5" Touch I W10 I Cam I Gari!
Állásajánlatok
Cég: FOTC
Város: Budapest