使用方法:
1.找到exe所在的路径url,解决方案名称为ImagesToPDF
在命令行中输入 url/ImagesToPDF.exe 导出PDF路径 图片1路径 图片2路径 ...
2.

右键点击【项目】--》【属性】,弹出配置界面。选择【调试】--》【启动选项】--》【命令行参数】文本框中输入任意的参数,多个之间用空格分隔,按F5可直接看到结果

 

 

 3.通过在程序的快捷方式中增加参数【推荐】
程序编译后,创建快捷方式程序。右键点击【ImagesToPDF.exe】--》【创建快捷方式】

右键点击【ImagesToPDF.exe 快捷方式】--》【属性】--》【快捷方式】--》【目标】,在文本框的最后输入任意参数,多个之间用空格分开

 

 

 双击双击【ImagesToPDF.exe 快捷方式】
 
static void Main(string[] args)
        {
            var outputurl = "";
            List<string> filePath = new List<string>();
            if (args != null)
            {
                Console.WriteLine("参数长度" + args.Length);
                for (int i = 0; i < args.Length; i++)
                {
                    Console.Write("第" + (i + 1) + "个参数是");
                    Console.WriteLine(args[i]);
                    if (i == 0)
                    {
                        string dire = args[i].Substring(0, args[i].LastIndexOf("/"));
                        if (!Directory.Exists(dire))
                        {
                            Directory.CreateDirectory(dire);
                        }
                        outputurl = args[i];
                    }
                    else
                    {
                        filePath.Add(args[i]);
                    }

                }

            }
            Console.ReadLine();
            ToPDF(outputurl, filePath);
        }

        public static void ToPDF(string outputurl, List<string> filePath)
        {
            float[] xy = new float[2];
            using (FileStream fs = new FileStream(filePath[0], FileMode.Open))
            {
                System.Drawing.Image img = System.Drawing.Image.FromStream(fs);

                int w = img.Width;
                int h = img.Height;
                float w_dpi = img.HorizontalResolution;
                float h_dpi = img.VerticalResolution;
                xy[0] = (float)(w * 25.4 / w_dpi * 2.83462677);
                xy[1] = (float)(h * 25.4 / h_dpi * 2.83462677);
            }
            iTextSharp.text.Document document = new iTextSharp.text.Document(new iTextSharp.text.Rectangle(0, 0, xy[0], xy[1]), 0, 0, 0, 0);
            using (FileStream fs = new FileStream(outputurl, FileMode.Create))
            {
                iTextSharp.text.pdf.PdfWriter.GetInstance(document, fs);
                document.Open();
                for (int i = 0; i < filePath.Count; i++)
                {
                    string imgPath = filePath[i];
                    using (FileStream imgFs = new FileStream(imgPath, FileMode.Open))
                    {
                        iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(imgFs);
                        img.ScaleAbsolute(xy[0], xy[1]);
                        document.NewPage();
                        document.Add(img);
                        imgFs.Close();
                    }
                }
                document.Dispose();
            }
        }        

  

 

posted on 2022-09-28 16:46  ListentoYourHeart  阅读(1151)  评论(0编辑  收藏  举报