1. asp.net中,把word文档转为pdf格式文件的问题。
C#编程,将Word转PDF,该方法有一定弊端,但是比起网路上的其他方法来说,还算比较好的,弊端是需要客户机上安装有WORD2007或更高的版本。
1、添加引用:Microsoft.Office.Interop.Word版本12.0.0.0;2、在开头添加命名空间引用:usingMicrosoft.Office.Interop.Word;3、具体实现方法如下:
//Word转换成pdf
///<summary>
///把Word文件转换成为PDF格式文件///</summary>
///<paramname="sourcePath">源文件路径</param>///<paramname="targetPath">目标文件路径</param>///<returns>true=转换成功</returns>
privateboolWordToPDF(stringsourcePath,stringtargetPath){
boolresult=false;
Microsoft.Office.Interop.Word.WdExportFormatexportFormat=Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF;objectparamMissing=Type.Missing;
Microsoft.Office.Interop.Word.=newMicrosoft.Office.Interop.Word.ApplicationClass();
Microsoft.Office.Interop.Word.DocumentwordDocument=null;try
{
objectparamSourceDocPath=sourcePath;stringparamExportFilePath=targetPath;
Microsoft.Office.Interop.Word.=exportFormat;
boolparamOpenAfterExport=false;
Microsoft.Office.Interop.Word.=Microsoft.Office.Interop.Word.WdExportOptimizeFor.wdExportOptimizeForPrint;Microsoft.Office.Interop.Word.WdExportRangeparamExportRange=Microsoft.Office.Interop.Word.WdExportRange.wdExportAllDocument;intparamStartPage=0;intparamEndPage=0;
Microsoft.Office.Interop.Word.WdExportItemparamExportItem=Microsoft.Office.Interop.Word.WdExportItem.wdExportDocumentContent;boolparamIncludeDocProps=true;boolparamKeepIRM=true;
Microsoft.Office.Interop.Word.=Microsoft.Office.Interop.Word.WdExportCreateBookmarks.wdExportCreateWordBookmarks;boolparamDocStructureTags=true;boolparamBitmapMissingFonts=true;boolparamUseISO19005_1=false;
wordDocument=wordApplication.Documents.Open(refparamSourceDocPath,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing,refparamMissing);if(wordDocument!=null)
wordDocument.ExportAsFixedFormat(paramExportFilePath,paramExportFormat,paramOpenAfterExport,
paramExportOptimizeFor,paramExportRange,paramStartPage,paramEndPage,paramExportItem,paramIncludeDocProps,paramKeepIRM,paramCreateBookmarks,paramDocStructureTags,paramBitmapMissingFonts,paramUseISO19005_1,refparamMissing);
result=true;
if(wordDocument!=null){
wordDocument.Close(refparamMissing,refparamMissing,refparamMissing);wordDocument=null;}
if(wordApplication!=null){
wordApplication.Quit(refparamMissing,refparamMissing,refparamMissing);
wordApplication=null;}GC.Collect();
GC.WaitForPendingFinalizers();GC.Collect();
GC.WaitForPendingFinalizers();}catch{
result=false;
if(wordDocument!=null){
wordDocument.Close(refparamMissing,refparamMissing,refparamMissing);wordDocument=null;}
if(wordApplication!=null){
2. 急~急~~急~~~ ASP.NET 怎么讲图片生成PDF文件,求代码
我是借助组件完成导出PDF文件的。在写代码之前,你要下载一个名为iTextSharp的组件,并将其引用到你的程序中。然后将生成的PDF文件通过流形式导出。
代码如下:C#的
stringstrPDF_Nm=DateTime.Now.Year+"-"+DateTime.Now.Month+"-"+DateTime.Now.Day+"-"+DateTime.Now.Hour+"-"+DateTime.Now.Minute+".pdf";
iTextSharp.text.Documentdocument=newDocument();
iTextSharp.text.pdf.PdfWriterpdfwrite=PdfWriter.GetInstance(document,newFileStream(HttpContext.Current.Server.MapPath("~/img_Tmp/"+strPDF_Nm),FileMode.Create));
document.Open();
BaseFontbasefont=BaseFont.CreateFont(@"C:WindowsFontsSTKAITI.TTF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
//解决PDF不能显示中文的关键;创建一个中文楷体的字体对象
iTextSharp.text.Fontfont=newiTextSharp.text.Font(basefont,14);
iTextSharp.text.Tabletable=newiTextSharp.text.Table(4);
iTextSharp.text.Cellcells=newCell(newPhrase("不良报告",font));
cells.Colspan=4;
cells.HorizontalAlignment=1;
table.AddCell(cells);
iTextSharp.text.Imagejpg=iTextSharp.text.Image.GetInstance(Server.MapPath("~/img_Tmp/"+strSavePath));
document.Add(jpg);
document.Add(table);
document.Close();
pdfwrite.Close();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ContentType="application/PDF";
HttpContext.Current.Response.WriteFile(HttpContext.Current.Server.MapPath("~/img_Tmp/"+strPDF_Nm));
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.Close();
3. 在ASP.NET中怎么把网页形式转换为pdf格式
将htm转换为pdf的任务,这是一个有很有用的功能块,然而很遗憾,网上没有现成可行(包括开源/免费、易用和可维护性的考虑)方案。既然没有现成的解决方案就自己着手解决吧。 从htm生成pdf大概可以分两步实现,第一步,解析htm,就是将htm源文件中那一对文本转换为浏览器最终呈现给我们那种图文并茂的结果。这是一个不可完成的任务,因为目前为止业界的软件巨头也没有谁把htm解析做得很好的。对比ie、firefox等浏览器的显示结果便可想而知。既然业界难题,我也就不去钻牛角尖做技术攻关了,先跳过这步,考虑下一步的事情。 第二步,绘制pdf,这个简单,网上有很多资料,有兴趣的朋友可以研究pdf的文件格式,安装二进制组装pdf。我有兴趣,然而没有时间,我觉得软件从业者时刻都应该关注最有价值的事情。软件从业者要提高效率的第一法门便是重用,网上有一个叫itextsharp的东西是用来绘制pdf的,可以免费使用而且开源。 下载itextsharp,试着用itextsharp绘制htm看看效果,如您所料,绘制出的是htm的源代码。因为第一步的事情我们还没有解决,下面来解决第一步的事情。 记得很久以前见过一个.net写的网页snap工具,大概思路是利用webbrowser的DrawToBitmap方法将ie的显示结果输出到Sytem.Drawing.Bitmap对象。大概代码如下: //WebBrowser wb=null; System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(w, h); wb.DrawToBitmap(bmp, new System.Drawing.Rectangle(0,0, w, h));ok,htm可以解析了,现在重组刚才的代码,思路如下: 使用webbrowser将htm解析并转换为图片,使用itextsharp将刚才的图片绘制成pdf。 有用是给公司开发的功能,暂时不便公开源码,提供我编译后的工具供下载使用,您也可以根据上面的思路定制: 使用方法, 1.将单个url转换为pdf:PageToPDF.exe "http://www.g.cn/" "google.jpg" 2.将多个url转换为pdf:pagetopdf.exe task.txt "C:\pdfdir\" task.txt是任务里表,里面提供多行url,每个url以#文件名为后缀,如:http://www..com/#b表示将http://www..com/转换为pdf文件名为b(扩展名系统自己会追加) 在asp.net环境下使用 将pagetopdf上传至网站中,设定好目录权限,示例代码: Code public static bool CreatePPDF(string url,string path) { try { if (string.IsNullOrEmpty(url) || string.IsNullOrEmpty(path)) return false; Process p = new Process(); string str = System.Web.HttpContext.Current.Server.MapPath("~/afafafasf/PageToPDF.exe "); if (!System.IO.File.Exists(str)) return false; p.StartInfo.FileName = str; p.StartInfo.Arguments = " \"" + url + "\" " + path; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; p.Start(); System.Threading.Thread.Sleep(500); return true; } catch(Exception ex) { Sys.Log.error("Pdf create err.",ex); } return false; } 特性 在使用任务形式工作时,系统会启动多个进程,即任务管理器中会有多个pagetopdf.exe的进程,这是系统调度程序自己启动的,为了加个任务处理速度。进程数由调度程序自己控制,最多不会超过十个。
记得采纳啊
4. asp如何生成pdf格式的文件
另存为pdf格式,如果不能另存在网上下载一个格式转换器就可以
5. 用asp将一个网页生成另一个pdf格式的网页,可以让用户在网上下载电子书或直接打印
如果只是想把你服务端的数据生成并利用IE下载到客户机,服务端可使用ASPPDF,定位很准的
新版本的以前我试过,也支持远程抓取网页生成PDF的
楼主网络一把看看,资料很多的,不过好多WEB服务器都不支持该组件哦,
如果是自己的服务器,那安装上去就可以使用了
Set Pdf = Server.CreateObject("Persits.Pdf")
Set Doc = Pdf.CreateDocument
Doc.Title = "cxmz--jiaoan"
Doc.Creator = "Creat BY : BinBin"
Doc.Subject = "jiaoan"
Doc.Author = "binbin" '作者
Doc.Keywords = "binbin 56300877" '关键词
Doc.Procer = "binbin" '制作者
Doc.CreationDate = Now()
Doc.ModDate = Now()
Doc.Encrypt "binbin", "", 128
Set Page = Doc.Pages.Add
Page.height = 842
Page.width = 595
......
如果楼主要使用IE在线打印,可考虑先生成PDF,然后再生成FLASH文件,有相关组件的