itextsharp同时创建几个pdf

时间:2013-12-09 13:30:37

标签: c# itextsharp

是否可以使用 itextsharp 来同时创建多个PDF?

我已经开始使用此代码:

pdfdoc = new Document(PageSize.A4);
PdfWriter writer;

string Pfad = @"\...." + Filename; //Filename is with a random number.

writer = PdfWriter.GetInstance(pdfdoc, new FileStream(Server.MapPath(Pfad), 
writer.ViewerPreferences = PdfWriter.PageModeUseOutlines;
TwoColumnHeaderFooter eventHandler = new TwoColumnHeaderFooter();
writer.PageEvent = eventHandler;

pdfdoc.Open();

非常感谢快速回答。

2 个答案:

答案 0 :(得分:1)

如果您计划允许多个用户在已发布的网站上创建PDF,那就没有问题

如果要在服务器中生成一个文件名,则只需为每个生成的PDF文件创建唯一的文件名(然后在用户下载后将其删除)

或者您可以在内存中创建PDF并将其作为响应的一部分返回,并让用户将其保存在本地计算机上

这两个解决方案中的任何一个都可以被许多用户同时调用而没有任何问题。

见这个例子

答案 1 :(得分:1)

我解决了问题:

//This line works
Document pdfdoc = new Document(PageSize.A4);

//===================================================================================
     //I make the mistake, and declare the 
     Document pdfdoc;
     //global as 
     private static Document pdfdoc;
     // and this one works only for one creating PDF not for several at the same time.
//===================================================================================


PdfWriter writer;

string Pfad = @"\...." + Filename; //Filename is with a random number.

writer = PdfWriter.GetInstance(pdfdoc, new FileStream(Server.MapPath(Pfad), 
writer.ViewerPreferences = PdfWriter.PageModeUseOutlines;
TwoColumnHeaderFooter eventHandler = new TwoColumnHeaderFooter();
writer.PageEvent = eventHandler;

pdfdoc.Open();