社区
C#
帖子详情
求用C#实现生成PDF文档
wht526
2008-05-04 01:39:02
求用C#实现生成PDF文档
...全文
85
3
打赏
收藏
求用C#实现生成PDF文档
求用C#实现生成PDF文档
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yuchongjike
2008-05-04
打赏
举报
回复
我记得用水晶报表可以生成的。
baihe_591
2008-05-04
打赏
举报
回复
不懂,学习了。
朝圆夜不圆
2008-05-04
打赏
举报
回复
用C#实现生成PDF文档(原码)
来源:qqread论坛 作者: 2006-08-12 出处:PCDOG.COM
关键字:
用C#实现生成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
文档
(附源码)
在本文中,我们将深入探讨如何使用
C#
编程语言来
生成
PDF
文档
。提供的代码示例是一个简单的
C#
程序,它利用文本流(StreamWriter 和 MemoryStream)直接创建一个基本的
PDF
文件。这个程序展示了
PDF
文档
的基本结构,并...
用
C#
.NET
实现
生成
PDF
文档
和将WORD转换为
PDF
总结来说,用
C#
.NET
实现
生成
PDF
文档
和将WORD转换为
PDF
涉及到对
PDF
结构的理解、使用合适的库进行编程、处理WORD
文档
的复杂格式以及异常处理。此外,OCR技术在
文档
转换过程中的应用也是提高效率的关键环节。通过掌握...
用
C#
实现
生成
PDF
文档
(原码)
"用
C#
实现
生成
PDF
文档
(原码)" 本文主要介绍如何使用
C#
语言
生成
PDF
文档
,并提供了完整的源代码。通过阅读本文,读者可以了解如何使用
C#
语言来
生成
PDF
文档
,并掌握相关的技术和技巧。 首先,本文介绍了
C#
语言中...
C#
生成
pdf
文件
在提供的"示例代码.doc"和"[ASP.NET] 用
C#
制作
PDF
文件全攻略 .doc"文件中,应该包含了具体的
实现
代码和步骤,可以作为学习和参考的资源。阅读这些
文档
,将有助于你更深入地理解和掌握
C#
生成
PDF
的实际操作。 总的来...
用
C#
实现
生成
PDF
文档
源代码
### 一、
C#
生成
PDF
文档
概述 在日常的软件开发工作中,
生成
PDF
文档
的需求无处不在,无论是报表
生成
、发票打印还是合同
文档
的创建,
PDF
格式因其跨平台兼容性和格式稳定性而被广泛采用。
C#
作为一种功能强大的面向对象...
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章