public
byte
[] DocCreate(System.Drawing.Image image, List<TreeNodes> list)
{
MemoryStream file =
new
MemoryStream();
string
fileName =
string
.Empty;
Rectangle page = PageSize.A4;
float
y = page.Height;
Document document =
new
Document(page, 15, 15, 30, 30);
float
docWidth = page.Width - 15 * 2;
float
docHeight = page.Height - document.BottomMargin - document.TopMargin;
PdfWriter writer = PdfWriter.GetInstance(document, file);
writer.CloseStream =
false
;
writer.Open();
PdfContentByte cb = writer.DirectContent;
document.Open();
Paragraph title =
new
Paragraph(
new
Chunk(
"标题"
, titleFont));
title.Alignment = Element.ALIGN_CENTER;
document.Add(title);
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(image, ImageFormat.Png);
float
widthSzie = (page.Width - 30) / img.Width;
if
(widthSzie < 1)
{
img.ScalePercent(widthSzie * 100);
}
document.Add(img);
Paragraph p2 =
new
Paragraph(
new
Chunk(
"出处"
, paragraphFont));
p2.IndentationLeft = indentationLeft;
document.Add(p2);
InitData(list);
CreateSteps(list, document, list.FirstOrDefault(it => it.PID == 0));
////添加印章
Paragraph createtime =
new
Paragraph(
new
Chunk(DateTime.Now.ToLongDateString().ToString(), bodyFont));
createtime.Alignment = Element.ALIGN_RIGHT;
createtime.PaddingTop = 200;
document.Add(createtime);
document.Close();
file.Position = 0;
MemoryStream newfile = SetWaterMark(file,
"水印内容"
, docWidth, docHeight);
newfile.Position = 0;
byte
[] bytes =
new
byte
[newfile.Length];
newfile.Read(bytes, 0, bytes.Length);
return
bytes;
}