admin管理员组

文章数量:1648946

    string[] picFileNames = Directory.GetFiles(@"图片文件夹路径", "*");
    List<string> fileNames = picFileNames.ToList();
 
    PDFHeplper.MergeFileToPDF( fileNames,@"存储pdf文件路径");
    
/// <summary>
/// 
/// </summary>
/// <param name="files">图片路径</param>
/// <param name="pdfFileName">存储pdf路径</param>
/// <returns></returns>
public static bool MergeFileToPDF(List<string> files, string pdfFileName)
{
    iTextSharp.text.Document document = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4, 25, 25, 25, 25);
    try
    {
        iTextSharp.text.pdf.PdfWriter.GetInstance(document, new FileStream(pdfFileName, FileMode.Create, FileAccess.ReadWrite));
        document.Open();
        iTextSharp.text.Image image;
        foreach (var item in files)
        {
            if (String.IsNullOrEmpty(item)) break;
            image = iTextSharp.text.Image.GetInstance(item);
            if (image.Height > iTextSharp.text.PageSize.A4.Height - 25)
            {
                image.ScaleToFit(iTextSharp.text.PageSize.A4.Width - 25, iTextSharp.text.PageSize.A4.Height - 25);
            }
            else if (image.Width > iTextSharp.text.PageSize.A4.Width - 25)
            {
                image.ScaleToFit(iTextSharp.text.PageSize.A4.Width - 25, iTextSharp.text.PageSize.A4.Height - 25);
            }
            image.Alignment = iTextSharp.text.Image.ALIGN_MIDDLE;
            //document.NewPage();//解开注释默认一张图片占一页,注释自动撑满后自动下一页
            document.Add(image);
        }
        document.Close();
        return true;
    }
    catch (Exception ex)
    {
        Console.WriteLine("转换失败,原因:" + ex.Message);
    }
    return false;

} 

如果存在报错,未将对象应用到对象的实例,在vs里面调试=》选项=》勾选下面框起来的就行

本文标签: 图片多张批量PDF