使用方法:
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();
}
}
浙公网安备 33010602011771号