如题
已经找到解决方法,一直没时间传上来和大家分享一下,
使用的是itextsharp
/// <summary>
/// 合并PDF文件
/// </summary>
/// <param name="lstFiles">要合并的文件列表</param>
/// <returns></returns>
private bool MergePDF(List<string> lstFiles)
{
bool bReturn = false;
try
{
int f = 1;
PdfReader reader = new PdfReader(lstFiles[f]);
int n = reader.NumberOfPages;
Document document = new Document(reader.GetPageSizeWithRotation(1));
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(lstFiles[0], FileMode.Create));
document.Open();
PdfContentByte cb = writer.DirectContent;
PdfImportedPage page;
int rotation;
while (f < lstFiles.Count)
{
int i = 0;
while (i < n)
{
i++;
document.SetPageSize(reader.GetPageSizeWithRotation(i));
document.NewPage();
page = writer.GetImportedPage(reader, i);
rotation = reader.GetPageRotation(i);
if (rotation == 90 || rotation == 270)
{
cb.AddTemplate(page, 0, -1f, 1f, 0, 0, reader.GetPageSizeWithRotation(i).Height);
}
else
{
cb.AddTemplate(page, 1f, 0, 0, 1f, 0, 0);
}
}
f++;
if (f < lstFiles.Count)
{
reader = new PdfReader(lstFiles[f]);
n = reader.NumberOfPages;
}
}
document.Close();
bReturn = true;
}
catch
{
bReturn = false;
}
return bReturn;
}
}
ReportDocument rptDocument;
rptDocument.SetDataSource(myDS);
CrystalDecisions.Shared.ReportPageRequestContext rprc
= new CrystalDecisions.Shared.ReportPageRequestContext();
int totalPCount = rptDocument.FormatEngine.GetLastPageNumber(rprc);
<!--
//学习一下如何利用js来操作cookie
//写入 cookie
//不区分 cookieName 的大小写
//不考虑子键
function WriteCookies(cookieName, cookieValue, expires)
{
if (expires)
{
//指定了 expires
document.cookie =
WriteCookies_GetCookieName(cookieName) + "=" + escape(cookieValue)
+ "; expires=" + xpires.toGMTString();
}
else
{
document.cookie = WriteCookies_GetCookieName(cookieName) + "=" + escape(cookieValue);
}
}
//获取并返回与 cookieName 同名的 cookie 名称,允许大小写不同
//如果不存在这样的 cookie,就返回 cookieName
function WriteCookies_GetCookieName(cookieName)
{
var lowerCookieName = cookieName.toLowerCase();
var cookieStr = document.cookie;
if (cookieStr == "")
{
return cookieName;
}
var cookieArr = cookieStr.split("; ");
var pos = -1;
for (var i=0; i<cookieArr.length; i++)
{
pos = cookieArr[i].indexOf("=");
if (pos > 0)
{
if (cookieArr[i].substring(0, pos).toLowerCase() == lowerCookieName)
{
return cookieArr[i].substring(0, pos);
}
}
}
return cookieName;
}
//获取并返回 cookie 值
//不区分 cookieName 的大小写
//dfltValue 为默认返回值
//不考虑子键
function ReadCookies(cookieName, dfltValue)
{
var lowerCookieName = cookieName.toLowerCase();
var cookieStr = document.cookie;
if (cookieStr == "")
{
return dfltValue;
}
var cookieArr = cookieStr.split("; ");
var pos = -1;
for (var i=0; i<cookieArr.length; i++)
{
pos = cookieArr[i].indexOf("=");
if (pos > 0)
{
if (cookieArr[i].substring(0, pos).toLowerCase() == lowerCookieName)
{
return unescape(cookieArr[i].substring(pos+1, cookieArr[i].length));
}
}
}
return dfltValue;
}
//test all the oper
document.write("写入名称为 cv 的 cookie...<br>");
WriteCookies("test", "test123", null);
document.write("写入名称为 Ab,带失效日期的 cookie...<br>");
var expires = new Date("December 11, 2010");
WriteCookies("singleblue", "test234", expires);
document.write("读取名称为 singleblue 的 cookie..." + ReadCookies("ab", ""));
-->
如题,也可以用现今较为流行的js框架来实现,会较为简单,现今的js框架大多数都有封装好支持多种浏览器的创建方式
var xmlHttp = false;
/*@cc_on @*/
/*@if(@_jscript_version>=5)
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e2)
{
xmlHttp= false;
}
}
@end @*/
if(!xmlHttp && typeof XMLHttpRequest != 'undefined')
xmlHttp = new XMLHttpRequest();
1.项目到项目的引用
在解决方案包含多个项目,一个项目需要引用同一个解决方案中的另一个项目时使用。在解决方案上进行构建时,这类引用会自动更新。项目包含在解决方案时,建议使用这类引用。Visual Studio在解决方案文件中添加ProjectReferences标记项目,来跟踪这类引用。也就是说,如果另一个解决方案中也使用了这个项目,而它有项目到项目的引用,就必须重新建立它们。
2.Bin
这表示引用的是应用程序的bin目录外部的一个共享组件,该组件没有在全局程序集缓存(Global Assembly Cache,GAC)中注册。在引用时,这些项会复制到bin目录下,在默认情况下仅在构建过程中更新。如果查看一下该文件夹,除了程序集之外,还创建了一个<assemblyname>.dll.refresh文件。在该文件中包含了位置的引用,生成一个新副本。如果删除了这个文件,在构建过程中就不生成新副本。
3.GAC
用全局程序集缓存(GAC)注册的项不复制到项目的bin文件夹下。在web.config文件的编译部分,会添加一个新项,以跟踪对GAC组件的引用。这不是一个副本文件,所以会自动更新,选择安装到GAC中的当前版本
4.Web引用
这类引用用于跟踪Web服务的注册。在添加一个新的web引用时,会创建一个新的app_WebReferences文件夹,其中包含所生成的客户代理文件。只有在Visual Studio Solution Explorer的app_WebReferences文件夹选择Update Web References,才会更新这些引用。
以上是从书上看到的一些东东,感觉了解一下也好