📜  c# 将 pdf 保存到文件夹 - C# (1)

📅  最后修改于: 2023-12-03 15:13:51.342000             🧑  作者: Mango

C#将PDF保存到文件夹

在C#编程中,我们有时需要将一个生成的PDF文件保存到指定的文件夹,以便进行后续的处理或保存。本文将介绍如何使用C#将PDF文件保存到指定的文件夹。

使用iTextSharp库将PDF保存到文件夹

iTextSharp是一个流行的C#库,可以用于创建和处理PDF文件。下面的代码演示了如何将一个PDF文件保存到指定的文件夹中:

using iTextSharp.text;
using iTextSharp.text.pdf;

// 创建一个PDF文档
Document document = new Document();

// 创建一个PdfWriter对象来写入PDF文件
PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));

// 打开文档
document.Open();

// 添加内容到PDF文档
document.Add(new Paragraph("Hello, World!"));

// 关闭文档
document.Close();

// 将PDF文件保存到指定的文件夹中
File.Copy("output.pdf", @"C:\MyFolder\output.pdf");

以上代码首先创建了一个PDF文档对象,然后从一个文件流中获取一个PdfWriter对象来写入PDF文件。接着,将内容添加到PDF文档中,最后将PDF文件保存到指定的文件夹中。

使用Ghostscript库将PDF保存到文件夹

Ghostscript是一个开源的PDF处理库,可以用于在C#程序中对PDF文件进行处理。下面的代码演示了如何使用Ghostscript将一个PDF文件保存到指定的文件夹中:

string inputPdfFile = "input.pdf";
string outputPdfFile = @"C:\MyFolder\output.pdf";

// 设置Ghostscript的参数
string[] args = new string[]
{
    "-q", "-dNOPAUSE", "-dBATCH", "-sDEVICE=pdfwrite", $"-sOutputFile={outputPdfFile}", inputPdfFile
};

// 创建一个Process对象来执行Ghostscript命令
Process process = new Process();
process.StartInfo.FileName = "gswin32c.exe";
process.StartInfo.Arguments = string.Join(" ", args);
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.Start();

// 等待Ghostscript处理完毕
process.WaitForExit();

以上代码首先定义了输入PDF文件和输出PDF文件的路径。然后设置了Ghostscript的参数,这里用了pdfwrite设备来将PDF文件写入输出文件中。最后创建了一个Process对象来执行Ghostscript命令,等待Ghostscript处理完毕后,PDF文件就被保存到指定的文件夹中了。

结论

以上介绍了两种在C#中将PDF文件保存到指定文件夹的方法,分别使用了iTextSharp和Ghostscript两个库。具体使用哪个库取决于实际需求,可以根据需要选择适合自己的方法进行处理。

参考资料