outputstream的常用方法 C#HTML转PDF页面内容太大怎么分页?

[更新]
·
·
分类:互联网
3034 阅读

outputstream的常用方法

C#HTML转PDF页面内容太大怎么分页?

C#HTML转PDF页面内容太大怎么分页?

public void writeLog(string sMessage)
{
//FileStream fs new FileStream((), );
try
{
StreamWriter swriter (());
swriter.WriteLine(sMessage);
();
}
catch
{ }
}
private bitmap;
private string url;
private int w 760, h 900;
public void setBitmap()
{
using (WebBrowser wb new WebBrowser())
{
wb.Width w;
wb.Height h;
false;
(url);
//确保页面被解析完全
while ( ! )
{
();
}
bitmap new (w, h);
wb.DrawToBitmap(bitmap, new (0, 0, w, h));
wb.Dispose();
}
}
private void CreatPdf()
{
Document doc new Document(PageSize.A4, 9, 18, 36, 36);//左右上下
MemoryStream ms new MemoryStream();
try
{
PdfWriter writer (doc, ms);
false;
();
url ();
Thread thread new Thread(new ThreadStart(setBitmap));
();
();
while ()
(100);
(());
img (bitmap, );
(75);//560 630
(img);
}
catch (Exception err)
{
throw new Exception();
}
finally
{
();
using (FileStream fs new FileStream((pagetohtml.pdf), ))
{
ms.Position 0;
byte[] bit new byte[ms.Length];
(bit, 0, (int)ms.Length);
fs.Write(bit, 0, bit.Length);
}
ViewPdf(ms);
}
}
private void ViewPdf(Stream fs)
{
();
//中文名的话
(Content-Disposition, attachment;filename
// HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8) ;charsetGB2312);
(Content-Disposition, attachment;FileNamepagetohtml.pdf);
(Content-Length, ());
application/pdf;
long fileLength fs.Length;
int size 10240;
byte[] readData new byte[size];
if (size fileLength)
size (fileLength);
long fPos 0;
bool isEnd false;
while (!isEnd)
{
if ((fPos size) fileLength)
{
size (fileLength - fPos);
isEnd true;
}
readData new byte[size];
fs.Position fPos;
(readData, 0, size);
(readData);
Response.OutputStream.Flush();
fPos size;
}
();
();
Response.End();
();
}

java中的输入输出流的四大基本类是什么?

常用四个基本类如下:
InputStream:继承自InputStream的流都是用于向程序中输入数据的,且数据单位都是字节(8位)。
OutputSteam:继承自OutputStream的流都是程序用于向外输出数据的,且数据单位都是字节(8位)。
Reader:继承自Reader的流都是用于向程序中输入数据的,且数据单位都是字符(16位)。
Writer:继承自Writer的流都是程序用于向外输出数据的,且数据单位都是字符(16位)。