我正在使用第三方工具从扫描仪获取扫描内容。在按钮上单击它执行代码并将内容作为FileStream提供。现在我需要将此FileStream内容作为pdf文件保存到指定的文件夹中。保存后,我需要在浏览器中打开文件。因此,如何将FileStream保存为pdf文件。请帮助我。如何将FileSteam另存为pdf文件
回答
你可能想看看SourceForge上的C#PDF库:http://sourceforge.net/projects/pdflibrary/
另一个突出的PDF库(我过去也使用过)是iTextSharp。你可以看看this tutorial关于如何将转换成你的Stream to PDF然后让用户下载它。
如果我正确地理解了你,第三方库会向你传送一个包含扫描文档数据的流,并且你需要将它写入文件?如果是这种情况,您需要在C#中查找文件I/O。这里有一个link和示例:
Stream sourceStream = scanner.GetOutput(); // whereever the source stream is
FileStream targetStream = File.OpenWrite(filename, FileMode.Create());
int bytesRead = 0;
byte[] buffer = new byte[2048];
while (true) {
bytesRead = sourceStream.Read(buffer, 0, buffer.length);
if (bytesRead == 0)
break;
targetStream.Write(buffer, 0, bytesRead);
}
sourceStream.Close();
targetStream.Close();
是的,它正在保存文件。当我打开它显示错误消息,Adobe阅读器无法打开此文件。 – ANP
这只是保存流。但实际数据不是PDF格式。您需要使用单独的库来将流转换为使用其他答案中提到的第三方库进行PDF转换。 –
您可以直接写流响应的输出缓冲区。
所以,如果你在你的代码中的位置,你有扫描仪的文件流。只需从扫描仪FILESTREAM读取的字节,并将其写入到Response.OutputStream
设置的contentType到application/pdf
确保您返回而已。用户浏览器将执行现在配置的任何操作,保存到磁盘或在浏览器中显示。此时您也可以保存到服务器上的磁盘,以备在需要备份的情况下使用。
我假设你的文件流已经是pdf,否则你需要使用类似itextsharp的东西来创建pdf。
编辑 这里有一些粗糙和现成的代码来做到这一点。您需要整理这些,比如添加异常陷印以确保文件流得到正确清理。
public void SaveToOutput(Stream dataStream)
{
dataStream.Seek(0, SeekOrigin.Begin);
FileStream fileout = File.Create("somepath/file.pdf");
const int chunk = 512;
byte[] buffer = new byte[512];
int bytesread = dataStream.Read(buffer,0,chunk);
while (bytesread == chunk)
{
HttpContext.Current.Response.OutputStream.Write(buffer, 0, chunk);
fileout.Write(buffer, 0, chunk);
bytesread = dataStream.Read(buffer, 0, chunk);
}
HttpContext.Current.Response.OutputStream.Write(buffer, 0, bytesread);
fileout.Write(buffer, 0, bytesread);
fileout.Close();
HttpContext.Current.Response.ContentType = "application/pdf";
}
西蒙
- 1. 如何将html2canvas保存为pdf文件
- 2. 将PDF保存为文件
- 3. OpenOffice,Java,将文档另存为pdf
- 4. 将图表另存为PDF
- 5. 将.xfdf另存为.pdf
- 6. 如何将CGContextRef另存为.PNG文件?
- 7. 如何将BufferedImage另存为文件
- 8. 另存为PDF文件按钮C#
- 9. 将excel另存为pdf,文件名称作为变量值
- 10. 如何使用另存为对话框将Winform保存为pdf
- 11. 如何将html文档保存为pdf?
- 12. 将RadixTree另存为文件
- 13. 如何将php中的文本保存为pdf文件?
- 14. phpexcel另存为PDF
- 15. Java将xls文件保存为PDF
- 16. 将byte []流保存为PDF文件asp.net
- 17. 将AJAX流保存为PDF文件
- 18. 将输出保存为PDF文件
- 19. 如何使用当前文件名将文件另存为csv
- 20. 如何将gp4文件转换为pdf
- 21. 如何将.CATDrawing文件转换为.pdf
- 22. 如何将UIView导出为PDF文件
- 23. 如何将DJVU文件转换为PDF
- 24. Zend PHP - 将Google图表另存为PDF
- 25. 将Excel工作簿另存为.pdf
- 26. 将HTML5页面另存为PDF
- 27. 将SVG图案另存为PDF和PNG
- 28. ios将网页另存为PDF
- 29. 如何使用FileSteam加速读取文件
- 30. 如何将文件从html保存为pdf
的WebForms或MVC? –
我正在使用WebForms – ANP