Spire.PDF for .NET【文档操作】演示:动态创建 PDF 并将其发送到客户端浏览器

可移植文档格式 (PDF) 是 Adobe 制定的独立规范的固定版式文档。它封装了完整的描述,包括文本字体、图形和显示它所需的其他信息。

Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。

E-iceblue功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式

Spire.PDF for.net下载 Spire.PDF for java下载

动态创建PDF并将其发送到客户端浏览器

要动态生成 PDF 文件然后将其发送到客户端浏览器,您可以使用Spire.PDF for .NET来完成此任务。此外,Spire.PDF还支持加载现有的PDF文件并将其发送到客户端浏览器。在这篇技术文章中,我们将结合这两个功能来完整描述 Spire.PDF 的工作原理。下面是两个任务:

  • 任务1 动态创建PDF并将其发送到客户端浏览器。
  • 任务2 加载现有的PDF文件并将其发送到客户端浏览器(这是Spire.PDF for .NET的附加功能)

首先创建一个Asp.net应用程序并添加Spire.PDF.dll程序集。您可以在VS中的Aspx页面上添加两个按钮。指定其中一名负责任务 1,另一名负责任务 2。

对于任务1,首先需要启动一个Spire.PdfDocument对象

[C#]

复制代码
PdfDocument doc = new PdfDocument();

并在这个新的 PDF 文档中添加一个新页面

[C#]

复制代码
PdfPageBase page = newDoc.Pages.Add();

注意在该pdf页面上绘制字符串时需要相关的辅助对象。

[C#]

复制代码
string message = "Hello world!";
PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 13f);
PdfBrush brush = PdfBrushes.Red;
PointF location = new PointF(20, 20);

然后你可以在pdf页面中绘制一个字符串,如下所示:

[C#]

复制代码
page.Canvas.DrawString(message, font, brush, location);

最后您可以在客户端浏览器中打开这个新生成的PDF文档:

[C#]

复制代码
newDoc.SaveToHttpResponse("sample.pdf",HttpContext.Current.Response, HttpReadType.Open);

对于任务2,3行代码就可以直接解决。

启动 Spire.PdfDocument 对象

[C#]

复制代码
pdfDocument doc = new PdfDocument();

加载 pdf 文件

[C#]

复制代码
doc.LoadFromFile(this.Server.MapPath("/sample.pdf"));

加载pdf文档,然后将其作为附件发送到客户端浏览器。

[C#]

复制代码
doc.SaveToHttpResponse("sample.pdf", this.Response, HttpReadType.Save);

综上所述,以下是这两个任务所需的完整代码片段:

[C#]

using System;

复制代码
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Spire.Pdf;
using Spire.Pdf.Graphics;

namespace SendPdfToWebBrowser
{
public partial class WebForm_SendPdf : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
// load a pdf document ,after that ,send it to client browser as an attachment
protected void btnClientSavePdf_Click(object sender,EventArgs e)
{

// initiated an object of Spire.PdfDocument
PdfDocument doc = new PdfDocument();
// Load a pdf file

doc.LoadFromFile(this.Server.MapPath("/sample.pdf"));
// send the pdf document to client browser as an attachment
doc.SaveToHttpResponse("sample.pdf",this.Response, HttpReadType.Save);
}

// Create an pdf document ,then open it in the client browser
protected void btnClientOpenPdf_Click(object sender, EventArgs e)
{
// Initiate an object of Spire.PdfDocument
PdfDocument newDoc = new PdfDocument();
// Add a new page in this newly created pdf file
PdfPageBase page = newDoc.Pages.Add();
string message = "Hello world!” ;

PdfFont font = new PdfFont(PdfFontFamily.Helvetica,13f);
PdfBrush brush = PdfBrushes.Red;
PointF location = new PointF(20, 20);
// Draw a string with designated brush, a font, position in pdf page
page.Canvas.DrawString(message, font, brush, location);
//To open this pdf document in client browser.
newDoc.SaveToHttpResponse("sample.pdf",HttpContext.Current.Response, HttpReadType.Open);
}
}
}

最后,你可以运行它,并得到如下结果:

动态创建 PDF 并将其发送到客户端浏览器的屏幕截图

加载现有 PDF 文件并将其发送到客户端浏览器的屏幕截图

以上便是如何态创建 PDF 并将其发送到客户端浏览器,如果您有其他问题也可以继续浏览本系列文章,获取相关教程~

相关推荐
小码编匠27 分钟前
WPF 中的高级交互通过右键拖动实现图像灵活缩放
后端·c#·.net
追逐时光者1 小时前
一个基于 .NET 开源、简易、轻量级的进销存管理系统
后端·.net
数据智能老司机3 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机4 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机4 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机4 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i4 小时前
drf初步梳理
python·django
每日AI新事件4 小时前
python的异步函数
python
这里有鱼汤5 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python
唐青枫7 小时前
C#.NET 定时任务与队列利器:Hangfire 完整教程
c#·.net