图表转换为PDF

将图表渲染为PDF

为了将图表渲染为PDF格式,Aspose.Cells API已公开了Chart.ToPdf方法,能够将结果PDF存储在磁盘路径或流中。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Workbook
int sheetIndex = workbook.Worksheets.Add();
// Obtaining the reference of the newly added worksheet by passing its index to WorksheetCollection
Worksheet worksheet = workbook.Worksheets[sheetIndex];
// Adding sample values to cells
worksheet.Cells["A1"].PutValue(50);
worksheet.Cells["A2"].PutValue(100);
worksheet.Cells["A3"].PutValue(150);
worksheet.Cells["B1"].PutValue(4);
worksheet.Cells["B2"].PutValue(20);
worksheet.Cells["B3"].PutValue(50);
// Adding a chart to the worksheet
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5);
// Accessing the instance of the newly added chart
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex];
// Adding Series Collection (chart data source) to the chart ranging from "A1" cell to "B3"
chart.NSeries.Add("A1:B3", true);
// Converting chart to PDF
chart.ToPdf(dataDir + "chartPDF_out.pdf");

使用所需的页面大小创建图表PDF

您可以使用Aspose.Cells创建所需页面大小的图表PDF,并指定您希望如何在页面内对齐图表,如顶部、底部、中心、左侧、右侧等。此外,输出图表可以以流或磁盘形式创建。请参阅以下示例代码,该代码加载了示例Excel文件,访问工作表中的第一个图表,然后将其转换为输出PDF并指定所需的页面大小。以下截图显示,输出PDF中的页面大小为7x7,如代码内指定的,且图表在水平和垂直方向上都居中对齐。 

todo:image_alt_text

示例代码

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Load sample Excel file containing the chart.
Workbook wb = new Workbook(sourceDir + "sampleCreateChartPDFWithDesiredPageSize.xlsx");
//Access first worksheet.
Worksheet ws = wb.Worksheets[0];
//Access first chart inside the worksheet.
Chart ch = ws.Charts[0];
//Create chart pdf with desired page size.
ch.ToPdf(outputDir + "outputCreateChartPDFWithDesiredPageSize.pdf", 7, 7, PageLayoutAlignmentType.Center, PageLayoutAlignmentType.Center);