PDF合并

要求:将多个table导出到一个PDF里,然后打印。

问题分析:要求将四个table放一个PDF打印,四个table的列各不相同,第一个是表头,其他三个是列表,列比表头多很多,如果直接生成一个excel,然后再直接导出会发现有些列在PDF中换行了。

原因:因为excle可打印的区域是有限制的,可打印的地方如下方法可见:文件-打印-设置-打印选择区域(如果打印要宽一点,选择A4,横向打印,)这时你点开始(2010版)回到sheet里,发现里面有一条虚线。这个虚线就是excel生成PDF后(相应纸张格式)最多显示的宽。

解决方法:

一,为了解决上面所说情况,可以设好四个table对应的excle模板,然后生成四个pdf。

二,再将四个PDF全并,注意(打印的方向,纸张大小一定要一样)

合并方法:

/// <summary>
        /// PDF合并
        /// </summary>
        /// <param name="arrFileList">要合并的PDF名称集</param>
        /// <param name="outMergeFile">合并后的PDF</param>
        public static void MergePDFFiles(List<string> arrFileList, string strOutMergeFile)
        {
            PdfReader reader;
            Document document = new Document();
            PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(strOutMergeFile, FileMode.Create));
            document.SetPageSize(PageSize.A4.Rotate());    //如果你的模板是A4的,这里一定要是A4
            document.Open();
            PdfContentByte cb = writer.DirectContent;
            PdfImportedPage newPage;
            foreach (string strFileName in arrFileList)
            {
                reader = new PdfReader(strFileName);
                int iPageNum = reader.NumberOfPages;
                for (int j = 1; j <= iPageNum; j++)
                {
                    document.NewPage();
                    newPage = writer.GetImportedPage(reader, j);
                    cb.AddTemplate(newPage, 0, 0);
                }
            }
            document.Close();
        }

调用:

List<string> arrFileList= new List<string>();
arrFileList.Add(strFileName);
MergePDFFiles(arrFileList, strFileName);

table根据模板生成excel

 Workbook excel = new Workbook();
string strFilePath = ExcelTemplatePath + strTableName + ".xls";
 //建立excel并打开模板文件
excel.Open(strFilePath);
Worksheet sheet = excel.Worksheets["Sheet1"];    控制sheet1
sheet.Cells.DeleteColumn((int.Parse(c.OrderNo.ToString()) - intDeleteCount));删除指定列
excel.Save(strFileName, FileFormatType.Default);
 ///转成PDF
 ConvertXlsToPdf(strFileName, strFileNamePdf);

excel转PDF

/// 将Xls文件转换为PDF文件
/// </summary>
/// <param name="strSourceFile">源文件</param>
/// <param name="strTargetFile">目标文件</param>
/// <returns>是否成功</returns>
public static bool ConvertXlsToPdf(string strSourceFile, string strTargetFile)
{
    if (File.Exists(strTargetFile))
    {
        File.Delete(strTargetFile);
    }

    FileInfo fiPdf = new FileInfo(strTargetFile);
    if (!fiPdf.Directory.Exists)
    {
        fiPdf.Directory.Create();
    }

    bool blnResult = false;

    #region 微软式导出
    Excel.XlFixedFormatType targetType = Excel.XlFixedFormatType.xlTypePDF;
    object missing = Type.Missing;
    Excel.ApplicationClass application = null;
    Excel.Workbook workBook = null;
    object paramFromPage = Type.Missing;
    object paramToPage = Type.Missing;
    try
    {
        application = new Excel.ApplicationClass();

        object target = strTargetFile;
        //object type = targetType;
        System.IO.FileInfo fi = new System.IO.FileInfo(strSourceFile);

        workBook = application.Workbooks.Open(fi.FullName, missing, missing, missing, missing, missing,
                missing, missing, missing, missing, missing, missing, missing, missing, missing);

        workBook.ExportAsFixedFormat(targetType, target, Excel.XlFixedFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing);
        blnResult = true;
    }
    catch (Exception ex)
    {
        blnResult = false;
        throw ex;
    }
    finally
    {
        if (workBook != null)
        {
            workBook.Close(false, missing, missing);
            workBook = null;
        }
        if (application != null)
        {
            application.Quit();
            application = null;
        }
        GC.Collect();
        GC.WaitForPendingFinalizers();
    }
    #endregion
    return blnResult;
}

PDF合并

时间: 2024-10-23 20:40:55

PDF合并的相关文章

关于如果把PDF合并为一个的方法

PDF合并对于专业的人士来说是很简单的事情,但是对于新手来说就不一定了,其实我觉得我也只是个半桶水就是.不过在日常生活学习中,我常用的也就是两种办法: ①文档----提取页面功能.②文件----合并PDF功能. 使用专门的PDF合并工具:例如adobe acrobat,iStylePDF等: 只需要安装好软件,打开您想要合并的文件,在点击文档----插入页面,即可选择您要合并的PDF文件,选择好插入位置:亦或者点击文档----提取页面,选择您要分割出来的PDF页面: 第二个方法就是直接打开软件,

将几个PDF合并为一个文件的方法

在整理一些文档资料的时候可能会碰到需要将几个文档的部分页面放到一块,作为新的文件,这对于常见的office文档来说不是什么难事,但是如果需要处理的文档是PDF格式那该怎样操作呢? 对于不同的情况我们可以用不同的方法来实现,如果需要处理的文档页面不多,我们可以用PDF编辑工具来进行操作. 首先将需要操作的几个PDF文档用编辑工具都打开,然后新建一个PDF文件. 按照顺序将PDF文件的页面复制粘贴到新的PDF文件中——可右击相应页面缩略图来复制整个页面内容,然后在新建的PDF文件中进行粘贴. 文档处

PDF合并小技巧:一家人就是要整整齐齐

我们中国人是一个很看重团圆的民族,我们追求阖家欢乐,赞颂破镜重圆,惋惜牛郎织女一年才能相会一次.在春运的路上,即使票再难买,路途再遥远,也不能阻止我们归家的步伐,为的便是家人的团聚.王维诗云:独在异乡为异客,每逢佳节倍思亲.道尽多少游子的心声. 在工作中,我们有时候也需要让我们的文件,如同家人一般团聚在一起--文件合并.Word,PPT等文件合并比较简单,但是PDF合并,很多人不知道怎么做,因为PDF文件不能直接编辑.难道只能转换为Word才能合并吗?其实不然,今天,就教大家一个PDF合并小技巧

多个PDF文件怎么合并?PDF合并的方法教程

多个PDF文件怎么合并?在我们的工作中,不可避免的就是将多个PDF文件合并成一个PDF文件,对于经常使用PDF文件的人来讲确实不是什么难事,但是对于一些小白来说就比较困难,那么今天就来仔细讲一讲多个PDF文件合并的方法教程.方法一:迅捷PDF编辑器1:首先将PDF编辑器https://www.xunjiepdf.com/editor安装到自己的电脑中,打开迅捷PDF编辑器将文件添加进去.2:在软件的顶部找到文档,点击文档在下面可以找到插入页面,将鼠标移动到插入页面处,在右侧可以找到插入页面.3:

如何将单个pdf合并

很多人在工作中,在遇到PDF文件编辑的问题可能都会比较头疼,毕竟PDF文件不同于其他的文件,不可以轻易的编辑,可能在遇到PDF文件的时候,大家如果不会对PDF文件进行编辑,可能会给工作带来很多的不便,下面小编先告诉大家如何将单个PDF合并吧.1.将PDF文件合并也是PDF文件的一种编辑,大家可以借助PDF转换器来将PDF文件进行合并,转换器可以先在电脑中安装好.2.打开PDF转换器,在转换器中有一个PDF操作的功能,用鼠标先点击PDF操作,接着点击PDF合并的功能.3.接下来用鼠标点击界面下面的

IOS - PDF合并

#pragma mark - Merge PDF - (void)mergePDF { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *filePath1 = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"阅办卡.pdf"]; NSString *fi

报表pdf的合并、添加页码

某一项目,用ReportMachine做报表模板,然后写了一个DLL以JNI方式供Java调用.在处理时,需要将多个报表一次性打印输出.因为多个报表是以不同的报表模板生成的,所以转成各个pdf之后,需要将这多个pdf文件合并为一个.并且,这个文件,还得附加页码,因为原来做这样的报表,是用页码标签机手工盖印后归档,这样麻烦,希望用电脑输出时自动生成页码.今天终于把这个问题彻底解决了. 一.pdf文件的合并,使用pdftk工具,可以通过命令行,将多个合并为一个. 1.将横向排列的报表,旋转变成纵向.

扫描的pdf文档怎么合并

事情是这样的原本手头上有30份PDF文档,用户希望能够在一个PDF文档中浏览出所有的文章,貌似能支持批量PDF文档合并的软件并不多,为了解决这一难题,我翻阅了很多教程讲解,发现有一款阅读和下载量挺多,于是狠下心下载出来亲自测试发现却是不错. 究竟这款pdf合并软件有什么功能呢?下面一起来看看究竟是怎样合并的: 要解决扫描版PDF文档合并,其实方法很简单,如果你的电脑里面安装了迅捷PDF合并软件,那么在你电脑上开始运行软件,单击进入程序界面,即可进行合并文档的操作. 1).打开PDF合并器后,找到

怎样将多个PDF文件合并

工作或是学习中经过日积月累的文档处理编辑会生成很多文档,在整理文档的时候就会需要将一些相关文档进行合并,整理到一起.常见的办公文档我们都会处理,但是对PDF这种不好编辑的文件有很多人就不会处理了.怎样合并多个PDF文件,其实也是有很多方法的. 方法A:①一些处理PDF文件的工具中就带有合并PDF的选项,打开工具后,找到里面PDF合并选项并点击选择.②接着是将需要合并的PDF文件都添加到工具中,可以点添加文件按钮进行添加,或者是直接将文件拖拽到软件中.一般最后是用拖拽的方式,将需要合并的文件按照顺