Bagikan melalui


Menggunakan Kontrol RSClientPrint di Aplikasi Kustom

Kontrol Microsoft ActiveX, RSPrintClient, menyediakan pencetakan sisi klien untuk laporan yang ditampilkan di Penampil HTML. Ini menyediakan kotak dialog Cetak sehingga pengguna dapat memulai pekerjaan cetak, mempratinjau laporan, menentukan halaman yang akan dicetak, dan mengubah margin. Selama operasi cetak sisi klien, server laporan merender laporan dalam ekstensi penyajian Gambar (EMF) dan menggunakan kemampuan cetak sistem operasi untuk membuat pekerjaan cetak dan mengirimkannya ke printer.

Pencetakan sisi klien menyediakan cara untuk mengontrol dan meningkatkan kualitas cetakan untuk laporan HTML dengan pengaturan cetak browser side-stepping pada komputer pengguna, dan sebagai gantinya menggunakan dimensi halaman, margin, header, dan teks footer laporan untuk membuat output cetak. Kontrol cetak membaca nilai properti laporan untuk mengatur ukuran halaman dan margin.

Pengembang yang ingin mengaktifkan fitur pencetakan sisi klien di toolbar pihak ketiga atau penonton dapat mengakses kontrol ActiveX melalui objek RSClientPrint COM. Kontrol dapat didistribusikan secara bebas. Daftar berikut ini menyediakan rekomendasi untuk menggunakan kontrol:

  • Gunakan kontrol untuk meningkatkan pencetakan untuk laporan berbasis Web. Anda dapat menentukan objek dalam salah satu bahasa pemrograman yang kompatibel dengan Microsoft .NET Framework atau dalam skrip. Kontrol ini tidak ditujukan untuk aplikasi Microsoft Formulir Windows.

  • Salin file .cab dari file program Reporting Services dan tambahkan ke basis kode aplikasi kustom Anda.

  • <Gunakan tag OBJECT> untuk menentukan kontrol.

  • Tentukan URL relatif atau sepenuhnya memenuhi syarat ke file .cab di atribut OBJECT CODEBASE.

  • Tentukan informasi versi aplikasi Anda sendiri untuk file .cab untuk melacak versi mana yang digunakan dalam aplikasi Anda.

Gambaran Umum RSPrintClient

Kontrol menampilkan kotak dialog cetak kustom yang mendukung fitur umum untuk kotak dialog cetak lainnya, termasuk pratinjau cetak, pilihan halaman untuk menentukan halaman dan rentang tertentu, margin halaman, dan orientasi. Kontrol dikemas sebagai file CAB. Teks dalam kotak dialog Cetak dilokalkan ke semua bahasa yang didukung di SQL Server. Kontrol RSPrintClient ActiveX menggunakan ekstensi Penyajian gambar (EMF) untuk mencetak laporan. Informasi perangkat EMF berikut digunakan: StartPage, EndPage, MarginBottom, MarginLeft, MarginTop, MarginRight, PageHeight, dan PageWidth. Pengaturan informasi perangkat lain untuk penyajian gambar tidak didukung.

Dukungan Bahasa

Kontrol cetak menyediakan teks antarmuka pengguna dalam bahasa yang berbeda, dan menerima nilai input yang dikalibrasi ke sistem pengukuran yang berbeda. Bahasa dan sistem pengukuran yang digunakan ditentukan oleh sifat Budaya dan UICulture . Kedua properti menerima nilai LCID. Jika Anda menentukan LCID untuk bahasa yang merupakan variasi pada bahasa yang didukung, Anda akan mendapatkan bahasa yang menyediakan kecocokan terdekat. Jika Anda menentukan LCID yang tidak didukung dan tidak ada LCID lain yang cocok, Anda akan mendapatkan bahasa Inggris (Amerika Serikat).

Menggunakan RSClientPrint dalam Kode

Objek RSClientPrint digunakan untuk mendapatkan akses secara terprogram ke kontrol ActiveX dan metode dan propertinya. Kontrol menyediakan dialog modal untuk pratinjau cetak.

Menentukan Nilai Default

Anda bisa menginisialisasi kotak dialog Cetak dengan margin dan nilai halaman laporan. Secara default, kotak dialog Cetak diinisialisasi dengan nilai dari definisi laporan. Anda dapat menggunakan default, atau menentukan nilai yang berbeda dengan mengatur properti pada objek.

Semua dimensi diatur dalam milimeter. Konversi pengukuran terjadi pada run time jika Budaya dan UICulture diatur ke lokal yang tidak menggunakan pengukuran metrik.

Untuk memahami nilai mana yang digunakan untuk dimensi dan margin halaman, Anda dapat menggunakan metode GetProperties untuk mengambil nilai default:

  • PageHeight dan PageWidth menentukan tinggi dan lebar halaman default. Ketika kontrol cetak diluncurkan, nilai properti ini digunakan untuk memilih ukuran kertas terdekat yang tersedia untuk printer yang saat ini dipilih. Jika PageWidth lebih besar dari PageHeight, orientasi diatur ke Lanskap. Jika tidak, diatur ke Potret.

  • LeftMargin, RightMargin, TopMargin, dan BottomMargin semuanya diatur ke 12,2 milimeter secara default.

Properti ini disimpan dalam kumpulan properti Item di server laporan. Nilai ditimpa setiap kali definisi laporan diperbarui.

Properti RSClientPrint

Properti Jenis RW Default Deskripsi
MarginLeft Laju RW pengaturan laporan Mendapatkan atau mengatur margin kiri. Nilai default jika tidak ditetapkan oleh pengembang atau ditentukan dalam laporan adalah 12,2 milimeter.
MarginRight Laju RW pengaturan laporan Mendapatkan atau mengatur margin yang tepat. Nilai default jika tidak ditetapkan oleh pengembang atau ditentukan dalam laporan adalah 12,2 milimeter.
MarginTop Laju RW pengaturan laporan Mendapatkan atau mengatur margin atas. Nilai default jika tidak ditetapkan oleh pengembang atau ditentukan dalam laporan adalah 12,2 milimeter.
MarginBottom Laju RW pengaturan laporan Mendapatkan atau mengatur margin bawah. Nilai default jika tidak ditetapkan oleh pengembang atau ditentukan dalam laporan adalah 12,2 milimeter.
PageWidth Laju RW pengaturan laporan Mendapatkan atau mengatur lebar halaman. Nilai default jika tidak ditetapkan oleh pengembang atau definisi laporan adalah 215,9 milimeter.
PageHeight Laju RW pengaturan laporan Mendapatkan atau mengatur tinggi halaman. Nilai default jika tidak ditetapkan oleh pengembang atau definisi laporan adalah 279,4 milimeter.
Kultur Int32 RW Lokal browser Menentukan pengidentifikasi lokal (LCID). Nilai ini menentukan unit pengukuran untuk input pengguna. Misalnya, jika pengguna mengetik 3, nilainya akan diukur dalam milimeter jika bahasanya prancis atau inci jika bahasanya adalah bahasa Inggris (Amerika Serikat). Nilai yang valid meliputi: 1028, 1031, 1033, 1036, 1040, 1041, 1042, 2052, 3082.
UICulture String RW Budaya klien Menentukan pelokalan string kotak dialog. Teks dalam dialog Cetak dilokalkan ke dalam bahasa-bahasa ini: Tionghoa-Sederhana, Tionghoa Tradisional, Inggris, Prancis, Jerman, Italia, Jepang, Korea, dan Spanyol. Nilai yang valid meliputi: 1028, 1031, 1033, 1036, 1040, 1041, 1042, 2052, 3082.
Autentikasi Boolean RW Salah Menentukan apakah kontrol mengeluarkan perintah GET terhadap server laporan untuk memulai koneksi untuk pencetakan di luar sesi.

Kapan Mengatur Properti Autentikasi

Saat Mencetak dari dalam sesi browser, Anda tidak perlu mengatur properti Autentikasi . Dalam konteks sesi aktif, semua permintaan dari kontrol cetak ke server laporan ditangani melalui browser. Browser mengatur variabel sesi yang diperlukan untuk komunikasi ke server laporan.

Jika Anda mencetak di luar sesi (misalnya, mengirim laporan langsung ke printer tanpa terlebih dahulu membukanya), kontrol cetak harus mengeluarkan permintaan HTTP GET untuk menyiapkan sesi dengan server laporan. Untuk mengeluarkan permintaan GET , Anda mengatur Autentikasi ke True.

Anda hanya perlu mengeluarkan permintaan GET jika Anda menggunakan keamanan terintegrasi Windows atau autentikasi Dasar. Jika Anda menggunakan autentikasi formulir, properti Autentikasi diabaikan. Kode aplikasi Anda harus mengatur sesi dan mengautentikasi pengguna menggunakan ekstensi keamanan kustom yang Anda berikan. Jika Anda menggunakan autentikasi formulir, pastikan untuk mengatur nilai kedaluwarsa pada cookie autentikasi ke nilai yang mempertahankan sesi untuk interval yang wajar. Jika nilai terlalu rendah, pengguna akan diminta untuk memberikan kredensial masuk setiap kali cookie kedaluwarsa.

CLSID

Saat menjalankan laporan lokal, Anda menggunakan nilai CLSID berikut.

  • 41861299-EAB2-4DCC-986C-802AE12AC499

  • 5554DCB0-700B-498D-9B58-4E40E5814405

  • 60677965-AB8B-464f-9B04-4BA871A2F17F

Saat Anda menjalankan laporan di Azure SQL Reporting, Anda menggunakan nilai CLSID berikut.

  • 3DD32426-554D-48C0-A200-65d3BF880E38

  • 05662494-ACF9-446A-BE4C-7D3F7EA7F62F

Dukungan RSPrintClient untuk Metode Cetak

Objek RSClientPrint mendukung metode Cetak yang digunakan untuk meluncurkan kotak dialog Cetak. Metode Cetak memiliki argumen berikut.

Argumen I/O Jenis Deskripsi
ServerPath Masuk String Menentukan direktori virtual server laporan (misalnya, https://adventure-works/reportserver).
ReportPathParameters Masuk String Menentukan nama lengkap untuk laporan di namespace folder server laporan, termasuk parameter. Laporan diambil melalui akses URL. Misalnya: "/AdventureWorks Sample Reports/Employee Sales Summary&EmpID=1234"
ReportName Masuk String Nama pendek laporan (dalam contoh di atas, nama pendeknya adalah Ringkasan Penjualan Karyawan). Muncul dalam kotak dialog Cetak dan dalam antrean cetak.

Contoh

Contoh HTML berikut menunjukkan cara menentukan file .cab, metode Cetak , dan properti di JavaScript:

<BODY onload="Print()">

<OBJECT ID="RSClientPrint" CLASSID="CLSID: 5554DCB0-700B-498D-9B58-4E40E5814405D3" CODEBASE="<URL to the .CAB file>#Version=<your application version information>" VIEWASTEXT></OBJECT>

<script language="javascript">

function Print()

{

RSClientPrint.MarginLeft = 12.7;

RSClientPrint.MarginTop = 12.7;

RSClientPrint.MarginRight = 12.7;

RSClientPrint.MarginBottom = 12.7;

RSClientPrint.Culture = 1033;

RSClientPrint.UICulture = 9;

RSClientPrint.Print('https://localhost/rtm', '%2fEmployee_Sales_Summary&ReportMonth=6&ReportYear=2004&EmpID=20', 'Employee_Sales_Summary')

}

</script>

</BODY>

Lihat Juga

Mencetak Laporan dari Browser dengan Kontrol Cetak (Pembuat Laporan dan SSRS)
Cetak Laporan (Pembuat Laporan dan SSRS)
Pengaturan Informasi Perangkat Gambar