本文整理汇总了C#中PdfDocument.SaveToStream方法的典型用法代码示例。如果您正苦于以下问题:C# PdfDocument.SaveToStream方法的具体用法?C# PdfDocument.SaveToStream怎么用?C# PdfDocument.SaveToStream使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PdfDocument
的用法示例。
在下文中一共展示了PdfDocument.SaveToStream方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SaveAsStream
public Stream SaveAsStream()
{
table.EndLoadData();
table.AcceptChanges();
var removes = new List<string>();
foreach (DataColumn dc in table.Columns)
if (title.IndexOf(dc.ColumnName) == -1)
removes.Add(dc.ColumnName);
foreach (var name in removes)
table.Columns.Remove(name);
var pdfTitle = table.TableName;
// Starting instantiate the document.
// Remember to set the Docuement Format. In this case, we specify width and height.
PdfDocument myPdfDocument = new PdfDocument(PdfDocumentFormat.InCentimeters(21, 29.7));
// Now we create a Table of 100 lines, 6 columns and 4 points of Padding.
PdfTable myPdfTable = myPdfDocument.NewTable(new Font("Arial", 12), table.Rows.Count, table.Columns.Count, 4);
// Importing datas from the datatables... (also column names for the headers!)
//myPdfTable.ImportDataTable(Table);
myPdfTable.ImportDataTable(table);
// Sets the format for correct date-time representation
//myPdfTable.Columns[2].SetContentFormat("{0:dd/MM/yyyy}");
// Now we set our Graphic Design: Colors and Borders...
myPdfTable.HeadersRow.SetColors(Color.White, Color.Navy);
myPdfTable.SetColors(Color.Black, Color.White, Color.Gainsboro);
myPdfTable.SetBorders(Color.Black, 1, BorderType.CompleteGrid);
//// With just one method we can set the proportional width of the columns.
//// It's a "percentage like" assignment, but the sum can be different from 100.
//myPdfTable.SetColumnsWidth(new int[] { 5, 25, 16, 20, 20, 15 });
//// You can also set colors for a range of cells, in this case, a row:
//myPdfTable.Rows[7].SetColors(Color.Black, Color.LightGreen);
// Now we set some alignment... for the whole table and then, for a column.
myPdfTable.SetContentAlignment(ContentAlignment.MiddleCenter);
myPdfTable.Columns[1].SetContentAlignment(ContentAlignment.MiddleLeft);
// Here we start the loop to generate the table...
while (!myPdfTable.AllTablePagesCreated)
{
// we create a new page to put the generation of the new TablePage:
PdfPage newPdfPage = myPdfDocument.NewPage();
PdfTablePage newPdfTablePage = myPdfTable.CreateTablePage(new PdfArea(myPdfDocument, 48, 120, 500, 670));
// we also put a Label
PdfTextArea pta = new PdfTextArea(new Font("Arial", 26, FontStyle.Bold), Color.Red
, new PdfArea(myPdfDocument, 0, 20, 595, 120), ContentAlignment.MiddleCenter, pdfTitle);
// nice thing: we can put all the objects in the following lines, so we can have
// a great control of layer sequence...
newPdfPage.Add(newPdfTablePage);
newPdfPage.Add(pta);
// we save each generated page before start rendering the next.
newPdfPage.SaveToDocument();
}
//myPdfDocument.SaveToFile("Example1.pdf");
var stream = new MemoryStream();
myPdfDocument.SaveToStream(stream);
return stream;
}
示例2: buttonRun_Click
//.........这里部分代码省略.........
= new PdfStringFormat(PdfTextAlignment.Center);
page.Canvas.DrawString("Vendor List", font1, brush1, page.Canvas.ClientSize.Width / 2, y, format1);
y = y + font1.MeasureString("Vendor List", format1).Height;
y = y + 5;
PdfGrid grid = new PdfGrid();
grid.Style.CellPadding = new PdfPaddings(1, 1, 1, 1);
grid.Columns.Add(this.dataGridVendorList.Columns.Count);
float width
= page.Canvas.ClientSize.Width - (grid.Columns.Count + 1);
grid.Columns[0].Width = width * 0.25f;
grid.Columns[1].Width = width * 0.25f;
grid.Columns[2].Width = width * 0.25f;
grid.Columns[3].Width = width * 0.15f;
grid.Columns[4].Width = width * 0.10f;
//header of grid
PdfGridRow headerRow = grid.Headers.Add(1)[0];
headerRow.Style.Font
= new PdfInternalFont(new Font("Arial", 11f, System.Drawing.FontStyle.Bold), true);
String[] header = { "Vendor Name", "Address", "City", "State", "Country" };
for (int i = 0; i < header.Length; i++)
{
headerRow.Cells[i].Value = header[i];
headerRow.Cells[i].StringFormat
= new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
}
headerRow.Style.BackgroundBrush = PdfBrushes.SeaGreen;
//datarow of grid
int rowIndex = 1;
foreach (Vendor vendor in this.dataSource)
{
PdfGridRow row = grid.Rows.Add();
row.Style.Font = new PdfInternalFont(new Font("Arial", 10f), true);
row.Cells[0].Value = vendor.VendorName;
row.Cells[1].Value = vendor.Address;
row.Cells[2].Value = vendor.City;
row.Cells[3].Value = vendor.State;
row.Cells[4].Value = vendor.Country;
row.Cells[0].Style.BackgroundBrush = PdfBrushes.LightGray;
row.Cells[0].StringFormat = row.Cells[1].StringFormat = row.Cells[2].StringFormat
= new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle);
row.Cells[3].StringFormat = row.Cells[4].StringFormat
= new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle);
if (rowIndex % 2 == 0)
{
row.Style.BackgroundBrush = PdfBrushes.YellowGreen;
}
else
{
row.Style.BackgroundBrush = PdfBrushes.Bisque;
}
rowIndex++;
}
StringBuilder totalAmount = new StringBuilder();
var groupByCountry
= this.dataSource.GroupBy(v => v.Country)
.Select(g => new { Name = g.Key, Count = g.Count() });
foreach (var item in groupByCountry)
{
totalAmount.AppendFormat("{0}:\t{1}", item.Name, item.Count);
totalAmount.AppendLine();
}
PdfGridRow totalAmountRow = grid.Rows.Add();
totalAmountRow.Style.BackgroundBrush = PdfBrushes.Plum;
totalAmountRow.Cells[0].Value = "Total Amount";
totalAmountRow.Cells[0].Style.Font
= new PdfInternalFont(new Font("Arial", 10f, System.Drawing.FontStyle.Bold), true);
totalAmountRow.Cells[0].StringFormat
= new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Middle);
totalAmountRow.Cells[1].ColumnSpan = 4;
totalAmountRow.Cells[1].Value = totalAmount.ToString();
totalAmountRow.Cells[1].Style.Font
= new PdfInternalFont(new Font("Arial", 10f, System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic), true);
totalAmountRow.Cells[1].StringFormat
= new PdfStringFormat(PdfTextAlignment.Right, PdfVerticalAlignment.Middle);
PdfLayoutResult resultl = grid.Draw(page, new PointF(0, y));
y = y + resultl.Bounds.Height + 5;
PdfBrush brush2 = PdfBrushes.Gray;
PdfTrueTypeFont font2 = new PdfInternalFont(new Font("Arial", 9f));
resultl.Page.Canvas.DrawString(String.Format("* All {0} vendors in the list", grid.Rows.Count - 1),
font2, brush2, 5, y);
//Save pdf file.
using (Stream stream = saveFiledialog.OpenFile())
{
document.SaveToStream(stream);
}
document.Close();
}