导航:首页 > 文档加密 > net生成pdf

net生成pdf

发布时间:2022-06-14 06:19:20

1. 急~急~~急~~~ 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();

2. 在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的进程,这是系统调度程序自己启动的,为了加个任务处理速度。进程数由调度程序自己控制,最多不会超过十个。

记得采纳啊

3. 如何用.NET将DWG文件打印为PDF

pdf是扫描件,这个需要打印之后,扫描就是PDF文件了

4. .net如何将页面生成pdf

using System;
using System.IO;
using System.Text;
using System.Collections;

namespace PDFGenerator
{

public class PDFGenerator
{
static float pageWidth = 594.0f;
static float pageDepth = 828.0f;
static float pageMargin = 30.0f;
static float fontSize = 20.0f;
static float leadSize = 10.0f;

static StreamWriter pPDF=new StreamWriter("E:\\myPDF.pdf");

static MemoryStream mPDF= new MemoryStream();

static void ConvertToByteAndAddtoStream(string strMsg)
{
Byte[] buffer=null;
buffer=ASCIIEncoding.ASCII.GetBytes(strMsg);
mPDF.Write(buffer,0,buffer.Length);
buffer=null;
}

static string xRefFormatting(long xValue)
{
string strMsg =xValue.ToString();
int iLen=strMsg.Length;
if (iLen<10)
{
StringBuilder s=new StringBuilder();
int i=10-iLen;
s.Append('0',i);
strMsg=s.ToString() + strMsg;
}
return strMsg;
}

static void Main(string[] args)
{
ArrayList xRefs=new ArrayList();
//Byte[] buffer=null;
float yPos =0f;
long streamStart=0;
long streamEnd=0;
long streamLen =0;
string strPDFMessage=null;
//PDF文档头信息
strPDFMessage="%PDF-1.1\n";
ConvertToByteAndAddtoStream(strPDFMessage);

xRefs.Add(mPDF.Length);
strPDFMessage="1 0 obj\n";
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="<< /Length 2 0 R >>\n";
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="stream\n";
ConvertToByteAndAddtoStream(strPDFMessage);
////////PDF文档描述
streamStart=mPDF.Length;
//字体
strPDFMessage="BT\n/F0 " + fontSize +" Tf\n";
ConvertToByteAndAddtoStream(strPDFMessage);
//PDF文档实体高度
yPos = pageDepth - pageMargin;
strPDFMessage=pageMargin + " " + yPos +" Td\n" ;
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage= leadSize+" TL\n" ;
ConvertToByteAndAddtoStream(strPDFMessage);

//实体内容
strPDFMessage= "(http://www.wenhui.org)Tj\n" ;
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage= "ET\n";
ConvertToByteAndAddtoStream(strPDFMessage);
streamEnd=mPDF.Length;

streamLen=streamEnd-streamStart;
strPDFMessage= "endstream\nendobj\n";
ConvertToByteAndAddtoStream(strPDFMessage);
//PDF文档的版本信息
xRefs.Add(mPDF.Length);
strPDFMessage="2 0 obj\n"+ streamLen + "\nendobj\n";
ConvertToByteAndAddtoStream(strPDFMessage);

xRefs.Add(mPDF.Length);
strPDFMessage="3 0 obj\n<</Type/Page/Parent 4 0 R/Contents 1 0 R>>\nendobj\n";
ConvertToByteAndAddtoStream(strPDFMessage);

xRefs.Add(mPDF.Length);
strPDFMessage="4 0 obj\n<</Type /Pages /Count 1\n";
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="/Kids[\n3 0 R\n]\n";
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="/Resources<</ProcSet[/PDF/Text]/Font<</F0 5 0 R>> >>\n";
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="/MediaBox [ 0 0 "+ pageWidth + " " + pageDepth + " ]\n>>\nendobj\n";
ConvertToByteAndAddtoStream(strPDFMessage);

xRefs.Add(mPDF.Length);
strPDFMessage="5 0 obj\n<</Type/Font/Subtype/Type1/BaseFont/Courier/Encoding/WinAnsiEncoding>>\nendobj\n";
ConvertToByteAndAddtoStream(strPDFMessage);

xRefs.Add(mPDF.Length);
strPDFMessage="6 0 obj\n<</Type/Catalog/Pages 4 0 R>>\nendobj\n";
ConvertToByteAndAddtoStream(strPDFMessage);

streamStart=mPDF.Length;
strPDFMessage="xref\n0 7\n0000000000 65535 f \n";
for(int i=0;i<xRefs.Count;i++)
{
strPDFMessage+=xRefFormatting((long) xRefs[i])+" 00000 n \n";
}
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage="trailer\n<<\n/Size "+ (xRefs.Count+1)+"\n/Root 6 0 R\n>>\n";
ConvertToByteAndAddtoStream(strPDFMessage);

strPDFMessage="startxref\n" + streamStart+"\n%%EOF\n";
ConvertToByteAndAddtoStream(strPDFMessage);
mPDF.WriteTo(pPDF.BaseStream);

mPDF.Close();
pPDF.Close();
}
}

另外:C#中生成PDF文件的方法挺多,可以使用iTextSharp控件,还有aspose的控件也可以。这些控件的功能都很强大,所以控件的大小也会很大

5. ASP.Net网站 Word转pdf

1.使用iText导出PDF报表文件示例代码

/**

* 导出PDF示例

* @author RainTion

* @param args

*/

publicstaticvoid main(String[] args) {

try {

Document document = new Document();

PdfWriter. getInstance(document, new FileOutputStream("F:\\test.pdf" ));

document.open();

document.add(new Paragraph( "pride in me!" ));

document.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (DocumentException e) {

e.printStackTrace();

}

}

2.使用iText导出Word报表文件示例代码

/**

* 导出Word示例

* @author RainTion

* @param args

*/

publicstaticvoid main(String[] args) {

try {

Document document = new Document(PageSize.A4);

RtfWriter2. getInstance(document, new FileOutputStream("F:\\test.doc" ));

document.open();

Paragraph title = new Paragraph("你好 地球人..." );

document.add(title);

document.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (DocumentException e) {

e.printStackTrace();

}

}

6. autocad2010 二次开发 .NET COM 如何导出pdf

DWG转PDF:

  1. 选择需要转PDF的图纸,ctrl+P进如打印界面,打印机/绘图仪中选择DWG To PDF,设置好打印效果以后,(具体打印尺寸在打印范围里选择窗口然后选出需要打印的区域,再把打印比例设置好)

  2. 设置完成后点击打印,然后选择您想要的路径即可,这就能转成PDF文件且您自定义选择路径

7. 怎样把.net页面中的表格转换成pdf

安装Adobe
Acrobat软件,安装成功后网页有个“将网页转换为PDF”的插件功能,能将任何网页及文档转成PDF文档。

8. vb.net 导出PDF

这是MSDN给出的一些答案:
http://social.msdn.microsoft.com/Forums/vstudio/en-US/e79afbe3-70d8-4d4e-b651-a864b7e5e7d9/read-parse-a-pdf-file-using-vbnet
http://social.msdn.microsoft.com/Forums/vstudio/en-US/4ca6b6fc-b483-44b3-bce0-eeb2f159c879/how-to-read-a-pdf-text-in-vbnet
http://social.msdn.microsoft.com/Forums/vstudio/en-US/83dd4a50-ee2a-4a57-a71b-7d2f5e06d024/how-to-read-pdf-file-line-by-line-like-text-file

9. .net生成PDF文件的一个问题..

table.Padding = 0;
table.Spacing = 2; //设置这个值的大小可以解决这个问题

10. .net实现excel2010转成pdf

迅捷Excel转换成pdf转换器可将扫描文档、图像、文本照片和PDF文档转换为最通用的编辑格式 (DOC, XLS, PPT, HTML, PDF, ePub)

步骤一、 选择转换模式。excel转pdf转换软件目前支持八大转换模式,包括常见的excel转pdf、excel转pdf、PDF转图片等,点击图标勾选即可。

步骤二 、添加文件。点击excel转pdf转换软件的"添加文件"按钮,将PDF文件添加到程序界面,软件支持添加多个PDF文件。

步骤三 、输出选项。excel转pdf转换器默认将转换出来的文件保存在原文件夹内,或者自定义文件夹存储路径,最后点击右侧"开始转换"即可顺利完成转换。

阅读全文

与net生成pdf相关的资料

热点内容
云服务器建设原理 浏览:256
javajunit4for 浏览:845
华为服务器如何进阵列卡配置 浏览:435
apache服务器ip地址访问 浏览:718
如何买到安卓手机预装软件 浏览:537
冤罪百度云不要压缩 浏览:86
苏州云存储服务器 浏览:173
解压收纳原声 浏览:384
java注册验证 浏览:375
火花app怎么上推荐 浏览:980
什么app能游戏投屏到电视上 浏览:455
服务器托管到云端是什么意思 浏览:835
app保存草稿怎么用 浏览:808
安卓如何进入proumb 浏览:144
主机虚拟云服务器 浏览:619
删除分区加密的空间会不会恢复 浏览:706
京东app客户上门怎么看搜索量 浏览:741
怎么在农行app购买黄金 浏览:46
c型开发板和单片机 浏览:146
虚拟机建立用户的模板文件夹 浏览:905