服务端用iTextSharp产生图片内容PDF分页问题

nices 2010-10-12 05:03:53
服务端代码如下,其中 context.Request.InputStream是从Silverlight传过来的,从一个StackPanel转换为EditableImage的Stream。现在产生的PDF没有分页,所有的内容都在同一页。
System.IO.Stream incomingStream = context.Request.InputStream; //Get the incoming stream
System.Drawing.Image img = System.Drawing.Image.FromStream(incomingStream); //Create and image from the stream

int pageHeight = img.Height + (_Margin * 2);
int pageWidth = img.Width + (_Margin * 2);

iTextSharp.text.Image pdfImage = iTextSharp.text.Image.GetInstance(img, System.Drawing.Imaging.ImageFormat.Png);
System.IO.MemoryStream pdfStream = new System.IO.MemoryStream();
//iTextSharp.text.Font pdfFont = iTextSharp.text.Font.
iTextSharp.text.Document pdfDoc = new iTextSharp.text.Document(new iTextSharp.text.Rectangle(pageWidth, pageHeight));

//iTextSharp.text.Document pdfDoc = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4);
pdfDoc.NewPage();
iTextSharp.text.pdf.PdfWriter pdfWriter = iTextSharp.text.pdf.PdfWriter.GetInstance(pdfDoc, pdfStream);

//Insure this is set otherwise when the close method is called on the iTextSharp.text.Document the memory stream
//we are writting to will be closed
pdfWriter.CloseStream = false;

//Open PDF and add image to it
pdfDoc.Open();
pdfDoc.Add(pdfImage);

//Close the PDF document to commit the changes
pdfDoc.Close();

//Insure the stream is at the beginning
if (pdfStream.Position > 0) { pdfStream.Position = 0; };

int contentLength = (int)pdfStream.Length;
//Stream the exported pdf to the client this is needed since the file size could be large in size
Byte[] bytesRead = new Byte[contentLength];
pdfStream.Read(bytesRead, 0, contentLength);
...全文
702 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
foreveryimada 2012-03-02
  • 打赏
  • 举报
回复
是否已经解决这个问题??[Quote=引用楼主 nices 的回复:]
服务端代码如下,其中 context.Request.InputStream是从Silverlight传过来的,从一个StackPanel转换为EditableImage的Stream。现在产生的PDF没有分页,所有的内容都在同一页。
System.IO.Stream incomingStream = context.Request.InputStream; //Get the incomin……
[/Quote]
jv9 2010-10-13
  • 打赏
  • 举报
回复
没有用过iTextSharp控件,iTextSharp控件中是否有独立的分页控制可以有代码进行判断和分页呢?
01、数据介绍 在量化业绩说明会文本时,研究者通常采用自然语言处理(NLP)技术来提取关键特征,在构建管理层或投资者的情感语调时,普遍采用“净正面语调”作为核心指标。其计算公式通常为:净正面语调 = (正面词汇数 − 负面词汇数)/(正面词汇数 + 负面词汇数),该指标的取值范围在[-1, 1]之间,数值越大,表明发言者的情感语调越积极。 数据名称:上市公司业绩说明会文本+情感语调 数据年份:2005-2024年 02、数据指标 服务业种类、服务业收入(万元)和服务业收入占比数据提取都来自:根据上市公司财务报表中经营范围的描述,将与主营业务相关的生产性服务分为以下八类:(1)技术支持服务,包括维修、保养、安装与检测等基本技术支持与售后服务;(2)销售服务,包括分销、批发、零售和国际贸易等;(3)咨询服务,包括产品咨询、管理咨询以及市场咨询等;(4)培训服务;(5)租赁服务,包括产品租赁和设备租赁等;(6)研发与信息服务,包括设计、研发、开发、维护、升级、转让、技术指导、数据及信息处理服务、系统集成、系统运营维护以及综合技术服务等;(7)金融服务,包括融资与保险等金融服务;(8)物流服务,包括物流、装卸、搬运、仓储和运输等。具体处理方法:按照关键词检索企业是否开展上述八类服务,在此基础上对服务种类进行加总,得到代表企业服务业务种类的变量。 问题序号:业绩说明会提问问题的排序 提问内容:投资者提问内容 提问时间:投资者提问时间 回答人:回复投资者提问的人员 回答时间:回复投资者提问的时间 回答内容:对投资者提问的具体回复内容 正面词汇数量:回答内容中识别出的正面词汇数量 负面词汇数量:回答内容中识别出的负面词汇数量 正面词汇数比例:上市公司业绩说明会管理层回答所用的正面语调词汇数目占管理层回答词汇总数的比例 负面词汇数比例:上市公司业绩说明会

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧