
使用C#生成PDF文档(含源码)
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本资源提供了一个利用C#编程语言创建和操作PDF文档的解决方案,包含完整源代码。适合开发者快速集成到项目中,轻松实现PDF文件的生成需求。
使用C#生成PDF文档的示例代码如下:
```csharp
using System;
using System.IO;
using System.Text;
using System.Collections;
namespace PDFGenerator {
public class PDFGenerator {
static float pageWidth = 594.0f; // 页面宽度,单位为点(pt)
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;
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; // 补零以确保数字长度为10
s.Append(0, i);
strMsg = s.ToString() + strMsg;
}
return strMsg;
}
static void Main(string[] args) {
ArrayList xRefs = new ArrayList();
float yPos = 0f; // Y轴位置初始化
long streamStart = 0, streamEnd = 0, streamLen = 0;
string strPDFMessage = null;
// PDF文档头信息
strPDFMessage = %PDF-1.1 ;
ConvertToByteAndAddtoStream(strPDFMessage);
xRefs.Add(mPDF.Length);
strPDFMessage = 1 0 obj << /Length 2 0 R >> stream BT /F0 + fontSize + Tf ;
ConvertToByteAndAddtoStream(strPDFMessage);
// 文本内容
yPos = pageDepth - pageMargin;
strPDFMessage += pageMargin + + yPos + Td ;
ConvertToByteAndAddtoStream(strPDFMessage);
strPDFMessage += leadSize+ TL (http://www.wenhui.org)Tj ET ; // 实体内容
ConvertToByteAndAddtoStream(strPDFMessage);
streamEnd = mPDF.Length;
streamLen = streamEnd - streamStart;
strPDFMessage = endstream endobj 2 0 obj + streamLen + endobj ;
ConvertToByteAndAddtoStream(strPDFMessage);
xRefs.Add(mPDF.Length);
for(int i=0; i
全部评论 (0)


