aspx 手动编码的老项目,如何引入新的 .NET 类库?
aspx 手动编码的老项目,如何引入新的 .NET 类库?
有一些旧的项目,早些年都是使用Dream weaver或UltraEdit手动编码的,没有使用过Visual Studio,也没有使用过 NuGet 程序管理包,此类项目如果要增加新功能,怎么办呢?
经过学习研究,还是有办法的。比如我现在需要在一个 aspx 项目上,创建功能在 server端自动合并2个 pdf 文件,我需要使用 iTextSharp 程序包
- 在 Visual Studio 创建一个新项目,安装 iTextSharp,这样做并不是要在此编码,只是为了编译后得到相关的 dll 文件
- 本地发布后,需要找到 iTextSharp 生成的 2个 dll
- 将这2个dll 复制到 aspx 项目的 bin 目录下
- 使用你熟悉的方法就可以进行编码测试了,比如我习惯使用 Dreamwevar
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Text.RegularExpressions" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="iTextSharp.text" %>
<%@ Import Namespace="iTextSharp.text.pdf" %>
<script language="c#" runat="server">
string fileExtension;
string path;
void Page_load(object sender, EventArgs e) {
}
protected void Button1_Click(object sender, EventArgs ep){
if(IsPostBack){
Boolean fileOK = false;
//path = Server.MapPath("/Invoiceaspx")+"\\uploadfile\\PO_attach\\";
//path = "E:\\UploadFile\\PO_attach\\";
path ="\\mounts\\foo\\merge_test\\";
//读取PDF文件1
PdfReader reader1 = new PdfReader(path+ "1.pdf");
//读取PDF文件2
PdfReader reader2 = new PdfReader(path+ "2.pdf");
//创建一个新的PDF文档
Document document = new Document();
//创建一个PdfCopy对象来合并PDF文档
PdfCopy copy = new PdfCopy(document, new FileStream(path+ "merged.pdf", FileMode.Create));
//打开文档
document.Open();
//循环读取第一个PDF文件的页面,并将它们添加到新的文档
for (int i = 1; i <= reader1.NumberOfPages; i++)
{
PdfImportedPage page = copy.GetImportedPage(reader1, i);
copy.AddPage(page);
}
//循环读取第二个PDF文件的页面,并将它们添加到新的文档
for (int i = 1; i <= reader2.NumberOfPages; i++)
{
PdfImportedPage page = copy.GetImportedPage(reader2, i);
copy.AddPage(page);
}
//关闭文档和读取器
document.Close();
reader1.Close();
reader2.Close();
Label1.Text = "Merge OK";
}
}
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Merge Test</title>
<link href="../css/list.css" rel="stylesheet" type="text/css">
</head>
<body class="cnt_txt">
Merge pdf testing
<form id="form1" runat="server" class="cnt_txt">
<div>
<ASP:Button ID="Button1" runat="server" CssClass="cnt_txt" OnClick="Button1_Click" Text="Merge" /> <br />
<br />
<ASP:Label ID="Label1" CssClass="cnt_txt" ForeColor="#FF0000" runat="server"></ASP:Label>
</form>
</body>
</HTML>