作成日: 2026/03/25 最終更新日: 2026/03/25
文書種別
使用方法
詳細
セクションレポートの場合
レポートをJPEG形式やBMP形式などの画像ファイルとして保存する直接的な機能は用意されていません。
代替案としては、Page.Drawメソッドを使用して.NET FrameworkのGraphicsオブジェクトに対して描画する方法が考えられます。
◆サンプルコード (C#)
using GrapeCity.ActiveReports.Document.Section;
---
private void Form1_Load(object sender, EventArgs e)
{
SectionReport1 sectionReport = new SectionReport1();
sectionReport.Run();
// 解像度
float dpiX = 100;
float dpiY = 100;
// JPEG形式
this.SectionDocumentToJpeg(sectionReport.Document, dpiX, dpiY);
// BMP形式
this.SectionDocumentToBmp(sectionReport.Document, dpiX, dpiY);
}
// ドキュメントからJpegファイルへ出力するメソッド
private void SectionDocumentToJpeg(
GrapeCity.ActiveReports.Document.SectionDocument doc,
float dpiX,
float dpiY)
{
for (int i = 0; i < doc.Pages.Count; i++)
{
System.Drawing.Bitmap bm;
bm = this.SectionPageToBitmap(doc.Pages[i], dpiX, dpiY);
string path = "rpt" + (i + 1).ToString("000") + ".JPG";
bm.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
// ドキュメントからBMPファイルへ出力するメソッド
private void SectionDocumentToBmp(
GrapeCity.ActiveReports.Document.SectionDocument doc,
float dpiX,
float dpiY)
{
for (int i = 0; i < doc.Pages.Count; i++)
{
System.Drawing.Bitmap bm;
bm = this.SectionPageToBitmap(doc.Pages[i], dpiX, dpiY);
string path = "rpt" + (i + 1).ToString("000") + ".BMP";
bm.Save(path, System.Drawing.Imaging.ImageFormat.Bmp);
}
}
// 各ページからBitmapオブジェクトを作成するメソッド
private System.Drawing.Bitmap SectionPageToBitmap(
GrapeCity.ActiveReports.Document.Section.Page page,
float dpiX,
float dpiY)
{
// ページのサイズからBitmapを作成します。
int width = (int)(page.Width * dpiX);
int height = (int)(page.Height * dpiY);
var bm = new System.Drawing.Bitmap(width, height);
bm.SetResolution(dpiX, dpiY);
// レポートと同じサイズのRectangleFを用意します。
var rec = new RectangleF(0, 0, page.Width, page.Height);
// BitmapからGraphicsオブジェクトを作成します。
Graphics gp;
gp = Graphics.FromImage(bm);
gp.Clear(Color.White);
// Alignment設定を初期化します。
StringFormat.GenericTypographic.Alignment = StringAlignment.Near;
// ページをGraphicsに描画します。
page.Draw(gp, rec);
return bm;
}◆サンプルコード (VB.NET)
Imports GrapeCity.ActiveReports.Document.Section
---
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sectionReport As New SectionReport1()
sectionReport.Run()
' 解像度
Dim dpiX As Single = 100
Dim dpiY As Single = 100
' JPEG形式
Me.SectionDocumentToJpeg(sectionReport.Document, dpiX, dpiY)
' BMP形式
Me.SectionDocumentToBmp(sectionReport.Document, dpiX, dpiY)
End Sub
' ドキュメントからJpegファイルへ出力するメソッド
Private Sub SectionDocumentToJpeg(
ByVal doc As GrapeCity.ActiveReports.Document.SectionDocument,
ByVal dpiX As Single,
ByVal dpiY As Single)
For i As Integer = 0 To doc.Pages.Count - 1
Dim bm As Bitmap
bm = Me.SectionPageToBitmap(doc.Pages(i), dpiX, dpiY)
Dim path As String = "report" & (i + 1).ToString("000") & ".JPG"
bm.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg)
Next
End Sub
' ドキュメントからBMPファイルへ出力するメソッド
Private Sub SectionDocumentToBmp(
ByVal doc As GrapeCity.ActiveReports.Document.SectionDocument,
ByVal dpiX As Single,
ByVal dpiY As Single)
For i As Integer = 0 To doc.Pages.Count - 1
Dim bm As Bitmap
bm = Me.SectionPageToBitmap(doc.Pages(i), dpiX, dpiY)
Dim path As String = "report" & (i + 1).ToString("000") & ".BMP"
bm.Save(path, System.Drawing.Imaging.ImageFormat.Bmp)
Next
End Sub
' 各ページからBitmapオブジェクトを作成するメソッド
Private Function SectionPageToBitmap(
ByVal page As GrapeCity.ActiveReports.Document.Section.Page,
ByVal dpiX As Single,
ByVal dpiY As Single) As System.Drawing.Bitmap
' ページのサイズからBitmapを作成します。
Dim width As Integer = CInt(page.Width * dpiX)
Dim height As Integer = CInt(page.Height * dpiY)
Dim bm As New System.Drawing.Bitmap(width, height)
bm.SetResolution(dpiX, dpiY)
' レポートと同じサイズのRectangleFを用意します。
Dim rec As RectangleF = New RectangleF(0, 0, page.Width, page.Height)
' BitmapからGraphicsオブジェクトを作成します。
Dim gp As Graphics
gp = Graphics.FromImage(bm)
gp.Clear(Color.White)
' Alignment設定を初期化します。
StringFormat.GenericTypographic.Alignment = StringAlignment.Near
' ページをGraphicsに描画します。
page.Draw(gp, rec)
Return bm
End Function
ページレポート/RDLレポートの場合
描画拡張機能(ImageRenderingExtension)を使用してレポートを画像ファイルにエクスポートできます。
具体的な方法は、製品ヘルプの以下のトピックをご参照ください。