【C#】C#实现PDF合并

这篇具有很好参考价值的文章主要介绍了【C#】C#实现PDF合并。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、下载iTextSharp.dll

下载iTextSharp.dll

可使用联机方式或者文件下载方式。
【C#】C#实现PDF合并,# C#,c#,pdf,开发语言

命名空间引入

代码开始时引入了一些命名空间,这些命名空间包含了程序运行所需的类和方法。

  • System、System.Collections.Generic、System.ComponentModel等是.NET框架的核心命名空间。
  • iTextSharp.text 和 iTextSharp.text.pdf 是用于处理PDF文件的库。
  • System.IO 是用于文件和目录操作的命名空间。
  • Microsoft.Win32 是用于访问Windows注册表的命名空间。
  • System.Diagnostics 是用于诊断和调试的命名空间。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
using Microsoft.Win32;
using System.Diagnostics;

二、界面设计

【C#】C#实现PDF合并,# C#,c#,pdf,开发语言

三、代码

全局变量

定义了三个静态字符串变量,用于存储上次选择的文件夹路径、输入文件夹路径和输出文件夹路径。

// 全局变量
        private static string lastFolderPath = ""; // 记录上次选择文件夹的路径
        private static string inputFolderPath = ""; // 输入文件夹路径
        private static string outputFolderPath = ""; // 输出文件夹路径

选择文件夹的按钮

从Windows注册表中读取上次选择的文件夹路径。
显示一个文件夹选择对话框,让用户选择包含PDF文件的文件夹。
如果用户选择了一个文件夹,将该路径存储在inputFolderPath变量中,并创建(如果不存在)一个名为"Output"的子文件夹作为输出路径。
将选择的路径显示在文本框txtPath中。

/// <summary>
        /// 按钮,选择文件夹路径
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSelectPath_Click(object sender, EventArgs e)
        {
            // 读取上次选择的文件夹路径  
            string registryKey = "Software\\PDF合并"; // 用您自己的应用程序名称替换YourAppName  
            if (Registry.CurrentUser.OpenSubKey(registryKey) != null)
            {
                lastFolderPath = Registry.CurrentUser.OpenSubKey(registryKey).GetValue("LastFolder") as string;
            }

            // 创建并显示一个选择文件夹的对话框  
            FolderBrowserDialog folderDialog = new FolderBrowserDialog();
            folderDialog.Description = "选择包含PDF文件的文件夹:";
            folderDialog.SelectedPath = lastFolderPath; // 设置默认路径为用户上次选择的文件夹  

            if (folderDialog.ShowDialog() == DialogResult.OK)
            {
                // 获取用户选择的文件夹路径  
                inputFolderPath = folderDialog.SelectedPath;

                // 创建输出文件夹路径(如果它不存在则创建它)  
                outputFolderPath = Path.Combine(inputFolderPath, "Output");

                if (!Directory.Exists(outputFolderPath))
                {
                    Directory.CreateDirectory(outputFolderPath);
                }
            }

            txtPath.Text = inputFolderPath;
        }

确认合并的按钮

简而言之,当用户点击“确认合并PDF”按钮时,此方法首先检查用户是否已选择了一个路径。如果没有,它会提示用户选择一个路径;如果已选择,它会调用一个方法来合并PDF文件,并显示一个消息告知用户合并已完成,然后打开导出的文件夹供用户查看。

/// <summary>
        /// 按钮,确认合并PDF
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (txtPath.Text == string.Empty)
            {
                MessageBox.Show("请选择要合并的文件夹路径!");
            }
            else
            {
                // 调用合并PDF的方法  
                MergePDFs(inputFolderPath, outputFolderPath, "123");

                MessageBox.Show("合并完成!");

                // 打开导出的文件夹路径  
                Process.Start(outputFolderPath);
            }
        }
  • 合并PDF的处理函数
    定义方法:public void MergePDFs(string inputFolderPath, string outputFolderPath, string outputPdfName)
    获取输入文件夹中所有的PDF文件,并将它们存储在inputFiles字符串数组中。
    创建输出PDF文件的路径,使用Path.Combine方法将输出文件夹路径和输出PDF文件名称组合起来。
    创建一个新的文件流stream,并使用FileStream类以写入模式打开它,准备写入输出PDF文件。
    创建一个新的Document对象pdfDoc,表示输出PDF文件。
    创建一个新的PdfCopy对象pdf,用于将内容复制到输出PDF文件中。
    打开输出PDF文档以进行写入。
    遍历所有输入的PDF文件,并使用PdfReader对象读取每个PDF文件。
    对于每个输入的PDF文件,获取其页面数,并使用for循环遍历每个页面。
    将每个输入PDF文件的页面添加到输出PDF文件中。
    检查输出PDF文档是否为空,如果不为空则关闭它。
    关闭文件流。
    创建新输出PDF文件的完整路径。
    检查新输出文件是否已存在,如果已存在则删除它。
    将原输出文件移动到新位置并重命名为"AllPDF_Merged.pdf"。
 /// <summary>
        /// 合并多个PDF文件为一个PDF文件
        /// </summary>
        /// <param name="inputFolderPath"></param>
        /// <param name="outputFolderPath"></param>
        /// <param name="outputPdfName"></param>
        public void MergePDFs(string inputFolderPath, string outputFolderPath, string outputPdfName)
        {
            // 获取输入文件夹中所有的PDF文件  
            string[] inputFiles = Directory.GetFiles(inputFolderPath, "*.pdf");

            // 创建输出PDF文件路径  
            string outputPdfPath = Path.Combine(outputFolderPath, outputPdfName);

            // 创建输出PDF文件  
            using (FileStream stream = new FileStream(outputPdfPath, FileMode.Create))
            {
                Document pdfDoc = new Document();
                PdfCopy pdf = new PdfCopy(pdfDoc, stream);
                pdfDoc.Open();

                foreach (string file in inputFiles)
                {
                    // 读取每个PDF文件并将其页面添加到输出PDF中  
                    PdfReader reader = new PdfReader(file);
                    int n = reader.NumberOfPages;
                    for (int i = 1; i <= n; i++)
                    {
                        pdf.AddPage(pdf.GetImportedPage(reader, i));
                    }
                    reader.Close();
                }

                if (pdfDoc != null) pdfDoc.Close();
                stream.Close();
            }

            string newOutputPdfPath = Path.Combine(outputFolderPath, "AllPDF_Merged.pdf");

            // 检查新输出文件是否已存在  
            if (File.Exists(newOutputPdfPath))
            {
                // 如果已存在,则删除旧文件并创建新文件  
                File.Delete(newOutputPdfPath);
            }

            // 重命名输出PDF文件  
            File.Move(outputPdfPath, newOutputPdfPath);

        }

四、导出结果

可将一个文件夹内的所有PDF合并成一个PDF文件导出。

【C#】C#实现PDF合并,# C#,c#,pdf,开发语言

五、完整源码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
using Microsoft.Win32;
using System.Diagnostics;

namespace PDF合并
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // 全局变量
        private static string lastFolderPath = ""; // 记录上次选择文件夹的路径
        private static string inputFolderPath = ""; // 输入文件夹路径
        private static string outputFolderPath = ""; // 输出文件夹路径


        /// <summary>
        /// 按钮,选择文件夹路径
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSelectPath_Click(object sender, EventArgs e)
        {
            // 读取上次选择的文件夹路径  
            string registryKey = "Software\\PDF合并"; // 用您自己的应用程序名称替换YourAppName  
            if (Registry.CurrentUser.OpenSubKey(registryKey) != null)
            {
                lastFolderPath = Registry.CurrentUser.OpenSubKey(registryKey).GetValue("LastFolder") as string;
            }

            // 创建并显示一个选择文件夹的对话框  
            FolderBrowserDialog folderDialog = new FolderBrowserDialog();
            folderDialog.Description = "选择包含PDF文件的文件夹:";
            folderDialog.SelectedPath = lastFolderPath; // 设置默认路径为用户上次选择的文件夹  

            if (folderDialog.ShowDialog() == DialogResult.OK)
            {
                // 获取用户选择的文件夹路径  
                inputFolderPath = folderDialog.SelectedPath;

                // 创建输出文件夹路径(如果它不存在则创建它)  
                outputFolderPath = Path.Combine(inputFolderPath, "Output");

                if (!Directory.Exists(outputFolderPath))
                {
                    Directory.CreateDirectory(outputFolderPath);
                }
            }

            txtPath.Text = inputFolderPath;
        }

        /// <summary>
        /// 按钮,确认合并PDF
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (txtPath.Text == string.Empty)
            {
                MessageBox.Show("请选择要合并的文件夹路径!");
            }
            else
            {
                // 调用合并PDF的方法  
                MergePDFs(inputFolderPath, outputFolderPath, "123");

                MessageBox.Show("合并完成!");

                // 打开导出的文件夹路径  
                Process.Start(outputFolderPath);
            }
        }

        /// <summary>
        /// 合并多个PDF文件为一个PDF文件
        /// </summary>
        /// <param name="inputFolderPath"></param>
        /// <param name="outputFolderPath"></param>
        /// <param name="outputPdfName"></param>
        public void MergePDFs(string inputFolderPath, string outputFolderPath, string outputPdfName)
        {
            // 获取输入文件夹中所有的PDF文件  
            string[] inputFiles = Directory.GetFiles(inputFolderPath, "*.pdf");

            // 创建输出PDF文件路径  
            string outputPdfPath = Path.Combine(outputFolderPath, outputPdfName);

            // 创建输出PDF文件  
            using (FileStream stream = new FileStream(outputPdfPath, FileMode.Create))
            {
                Document pdfDoc = new Document();
                PdfCopy pdf = new PdfCopy(pdfDoc, stream);
                pdfDoc.Open();

                foreach (string file in inputFiles)
                {
                    // 读取每个PDF文件并将其页面添加到输出PDF中  
                    PdfReader reader = new PdfReader(file);
                    int n = reader.NumberOfPages;
                    for (int i = 1; i <= n; i++)
                    {
                        pdf.AddPage(pdf.GetImportedPage(reader, i));
                    }
                    reader.Close();
                }

                if (pdfDoc != null) pdfDoc.Close();
                stream.Close();
            }

            string newOutputPdfPath = Path.Combine(outputFolderPath, "AllPDF_Merged.pdf");

            // 检查新输出文件是否已存在  
            if (File.Exists(newOutputPdfPath))
            {
                // 如果已存在,则删除旧文件并创建新文件  
                File.Delete(newOutputPdfPath);
            }

            // 重命名输出PDF文件  
            File.Move(outputPdfPath, newOutputPdfPath);

        }

     }
}




以下为一些扩展代码,以及PDF合并的应用:文章来源地址https://www.toymoban.com/news/detail-812031.html

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
using Microsoft.Win32;
using System.Diagnostics;
namespace PDF合并
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        // 全局变量
        private static string lastFolderPath = ""; // 记录上次选择文件夹的路径
        private static string inputFolderPath = ""; // 输入文件夹路径
        private static string outputFolderPath = ""; // 输出文件夹路径
        // 生成目录相关
        List<string> listFileName = new List<string>(); // 所有文件文件名
        List<int> listFileFirstPageNum = new List<int>(); // 所有文件起始页的页码
        int countPage = 0; // 所有的页面累加
        /// <summary>
        /// 按钮,选择文件夹路径
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSelectPath_Click(object sender, EventArgs e)
        {
            // 读取上次选择的文件夹路径  
            string registryKey = "Software\\PDF合并"; // 用您自己的应用程序名称替换YourAppName  
            if (Registry.CurrentUser.OpenSubKey(registryKey) != null)
            {
                lastFolderPath = Registry.CurrentUser.OpenSubKey(registryKey).GetValue("LastFolder") as string;
            }
            // 创建并显示一个选择文件夹的对话框  
            FolderBrowserDialog folderDialog = new FolderBrowserDialog();
            folderDialog.Description = "选择包含PDF文件的文件夹:";
            folderDialog.SelectedPath = lastFolderPath; // 设置默认路径为用户上次选择的文件夹  
            if (folderDialog.ShowDialog() == DialogResult.OK)
            {
                // 获取用户选择的文件夹路径  
                inputFolderPath = folderDialog.SelectedPath;
                // 创建输出文件夹路径(如果它不存在则创建它)  
                outputFolderPath = Path.Combine(inputFolderPath, "Output");
                // 创建输出路径
                if (!Directory.Exists(outputFolderPath))
                {
                    Directory.CreateDirectory(outputFolderPath);
                }
            }
            txtPath.Text = inputFolderPath;
        }
        /// <summary>
        /// 按钮,确认合并PDF
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (txtPath.Text == string.Empty)
            {
                MessageBox.Show("请选择要合并的文件夹路径!");
            }
            else
            {
                try
                {
                    Directory.Delete(outputFolderPath, true);
                    Directory.CreateDirectory(outputFolderPath); // 每次重置输出文件夹
                }
                catch (Exception ex)
                {
                    MessageBox.Show("当前处理的PDF文件已打开,请关闭后重新处理!" + ex.ToString());
                    return;
                }
                // 调用合并PDF的方法  
                MergePDFs(inputFolderPath, outputFolderPath, "123");
                MessageBox.Show("合并完成!");
                // 打开导出的文件夹路径  
                Process.Start(outputFolderPath);
            }
        }
        /// <summary>
        /// 合并多个PDF文件为一个PDF文件
        /// </summary>
        /// <param name="inputFolderPath"></param>
        /// <param name="outputFolderPath"></param>
        /// <param name="outputPdfName"></param>
        public void MergePDFs(string inputFolderPath, string outputFolderPath, string outputPdfName)
        {
            // 每次合并前先清空目录信息
            listFileName.Clear();
            listFileFirstPageNum.Clear();
            countPage = 0;
            // 获取输入文件夹中所有的PDF文件  
            //string[] inputFiles = Directory.GetFiles(inputFolderPath, "*.pdf");
            string[] inputFiles = GetAllPdfFiles(inputFolderPath);
            // 创建输出PDF文件路径  
            string outputPdfPath = Path.Combine(outputFolderPath, outputPdfName);
            // 创建输出PDF文件  
            using (FileStream stream = new FileStream(outputPdfPath, FileMode.Create))
            {
                Document pdfDoc = new Document();
                PdfCopy pdf = new PdfCopy(pdfDoc, stream);
                pdfDoc.Open();
                foreach (string file in inputFiles)
                {
                    // 读取每个PDF文件并将其页面添加到输出PDF中  
                    PdfReader reader = new PdfReader(file);
                    int n = reader.NumberOfPages;
                    for (int i = 1; i <= n; i++)
                    {
                        pdf.AddPage(pdf.GetImportedPage(reader, i));
                        countPage++; // 总页面累加
                    }
                    reader.Close();
                    listFileFirstPageNum.Add(countPage); // 添加每个文件起始页的页码
                    string fileName = Path.GetFileName(file);
                    listFileName.Add(fileName.Split('.')[0]); // 添加每个文件的名称
                }
                if (pdfDoc != null)
                {
                    pdfDoc.Close();
                } 
                stream.Close();
            }
            string newOutputPdfPath = Path.Combine(outputFolderPath, "AllPDF_Merged.pdf");
            // 检查新输出文件是否已存在  
            if (File.Exists(newOutputPdfPath))
            {
                // 如果已存在,则删除旧文件并创建新文件  
                File.Delete(newOutputPdfPath);
            }
            // 重命名输出PDF文件  
            File.Move(outputPdfPath, newOutputPdfPath);
            // 添加页码  参数是输入文件、输出文件
            PdfAddPageNumber(newOutputPdfPath, Path.Combine(outputFolderPath, "MergedWithPageNumbers.pdf"));  
            // 目录需要封面信息和每个文件第一页开始的页码。 文件名、文件名对应的第一个页码、最开始添加页并能放得下页信息
            CreatePdfCatalogue(listFileName, listFileFirstPageNum, outputFolderPath);
        }
        // 递归函数,用于从给定文件夹及其所有子文件夹中获取所有PDF文件  
        private string[] GetAllPdfFiles(string folderPath)
        {
            List<string> pdfFiles = new List<string>();
            // 获取指定文件夹中的所有PDF文件路径,并添加到列表中  
            string[] files = Directory.GetFiles(folderPath, "*.pdf");
            pdfFiles.AddRange(files);
            // 遍历文件夹中的每个子文件夹,并递归调用GetAllPdfFiles函数以获取子文件夹中的PDF文件路径,然后添加到列表中  
            foreach (string subDir in Directory.GetDirectories(folderPath))
            {
                pdfFiles.AddRange(GetAllPdfFiles(subDir));
            }
            // 将PDF文件路径列表转换为数组并返回  
            return pdfFiles.ToArray();
        }
        /// <summary>
        /// 生成目录PDF
        /// </summary>
        /// <param name="fileNames"></param>
        /// <param name="filePageNums"></param>
        /// <param name="outputPath"></param>
        private void CreatePdfCatalogue(List<string> fileNames, List<int> filePageNums, string outputPath)
        {
            // 创建PDF文件
            FileStream pdfFs = new FileStream(Path.Combine(outputPath, "目录.pdf"), FileMode.Create);
            // 获取实例
            Document doc = new Document();
            doc.SetPageSize(PageSize.A4.Rotate()); // 设置页面横向
            doc.SetMargins(50, 50, 30, 30);
            PdfWriter writer = PdfWriter.GetInstance(doc, pdfFs);
            // 打开pdf
            doc.Open();
            // 基本字体信息,可显示中文
            BaseFont bfChinese = BaseFont.CreateFont(@"C:\Windows\Fonts\simkai.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); // 设置基础字体
            Paragraph paragCatalog = new Paragraph("目录\n\n", new iTextSharp.text.Font(bfChinese, 30)); // 设置目录段落的内容和字体
            paragCatalog.Alignment = Element.ALIGN_CENTER; // 目录居中对齐
            doc.Add(paragCatalog); // 添加目录名称
            for (int i = 0; i < fileNames.Count; i++)
            {
                string rowInfo = (i + 1).ToString() + " " + fileNames[i] + "............";
                Paragraph paragInfo = new Paragraph(rowInfo, new iTextSharp.text.Font(bfChinese, 14)); // 设置目录条目内容和字体
                paragInfo.Alignment=Element.ALIGN_LEFT;
                doc.Add(paragInfo); // 添加每一条目录信息
                Paragraph paragInfo2 = new Paragraph((i + 1).ToString() + "." + filePageNums[i].ToString(), new iTextSharp.text.Font(bfChinese, 14)); // 设置目录条目内容和字体
                paragInfo2.Alignment = Element.ALIGN_RIGHT;
                doc.Add(paragInfo2); // 添加每一条目录信息
            }
            if (doc != null)
            {
                doc.Close();
            }
            if (pdfFs != null)
            {
                pdfFs.Close();
            }
        }
         /// <summary>
        /// 添加页码
        /// </summary>
        /// <param name="pdfPath">pdf文件</param>
        /// <param name="outPath">输出文件位置</param>
        public static void PdfAddPageNumber(string pdfPath, string outPath)
        {
            //读取pdf
            iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(pdfPath);
            //创建新pdf
            System.IO.Stream outStream = new System.IO.FileStream(outPath, System.IO.FileMode.Create, System.IO.FileAccess.Write, System.IO.FileShare.None);
            iTextSharp.text.pdf.PdfStamper stamper = new iTextSharp.text.pdf.PdfStamper(reader, outStream); ;
            int pdfTotalPage = reader.NumberOfPages;//总页数
            //第一页pdf尺寸
            iTextSharp.text.Rectangle psize = reader.GetPageSize(1);
            float width = psize.Width;
            float height = psize.Height;
            iTextSharp.text.pdf.PdfContentByte content;
            //【C:\WINDOWS\Fonts】系统字体存放位置
            iTextSharp.text.pdf.BaseFont font = iTextSharp.text.pdf.BaseFont.CreateFont(@"C:\WINDOWS\Fonts\SIMFANG.TTF", iTextSharp.text.pdf.BaseFont.IDENTITY_H, iTextSharp.text.pdf.BaseFont.EMBEDDED);
            iTextSharp.text.pdf.PdfGState gs = new iTextSharp.text.pdf.PdfGState();
            ///添加页码
            for (int i = 1; i <= pdfTotalPage; i++)
            {
                content = stamper.GetOverContent(i);//添加在内容上层,GetUnderContent内容下层
                gs.FillOpacity = 0.8f;//设置透明度
                content.SetGState(gs);
                content.BeginText();
                content.SetColorFill(iTextSharp.text.BaseColor.BLACK);//设置字体颜色
                content.SetFontAndSize(font, 10);//设置字体大小
                content.ShowTextAligned(iTextSharp.text.Element.ALIGN_BASELINE, "第" + i + "页,共" + pdfTotalPage + "页", width / 2 - 15, 12, 0);//设置字体添加位置
                content.EndText();
            }
            stamper.Close();
            reader.Close();
        }
     }
}

到了这里,关于【C#】C#实现PDF合并的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python实现pdf双页文档转png图片,png图片裁剪为左右两等分,再合并为新的pdf单页文档

    现有pdf双页文档如下: 现按照以下页码次序对pdf双页文档进行裁剪和拼接,其中有两点需要特别注意,一是封面页只裁剪中间部分,二是文档是从右往左的顺序排版的

    2024年02月09日
    浏览(57)
  • 多个PDF发票合并实现一张A4纸打印2张电子/数电发票功能

    python教程79--A4纸增值税电子发票合并打印_python 打印 发票设置_颐街的博客-CSDN博客 文章浏览阅读7.9k次。接上篇https://blog.csdn.net/itmsn/article/details/121902974?spm=1001.2014.3001.5501一张A4纸上下2张增值税电子发票实现办法。使用环境:python3.8、mac、docx库开发工具:jupyterlab增值税电子发

    2024年02月05日
    浏览(73)
  • 【PDF合并】利用 Python 合并 PDF 文件

    依赖安装 在 Python 中,可以使用 PyPDF2 模块来合并多个 PDF 文件。 首先导入 PdfFileMerger 类。接下来,创建一个 PdfFileMerger 对象 merger。 然后,使用 append 方法逐个添加要合并的 PDF 文件。在示例中,将要合并的 PDF 文件路径存储在列表 pdf_files 中,可以根据实际情况进行修改。

    2024年03月16日
    浏览(84)
  • 仅需三行代码! C# 快速实现PDF转PPT

    一般在会议、教学或培训活动中,我们都会选择PPT文档来进行内容展示。与PDF文档相比,PPT文档具有较强的可编辑性,可以随时增删元素,并且还可以设置丰富多样的动画效果来吸引观众注意。那么如何通过C#将PDF文档转为PPT文档呢?本文将教大家仅使用3行代码就实现这一功

    2024年02月05日
    浏览(34)
  • 如何把pdf文件合并?分享最新pdf合并方法

    在所有文档格式中,pdf应该是最常用的,像产品介绍、商务合同、法律文书等等,这些都是pdf格式的。有时候出于工作需要,我们要把两份或者多份pdf文件合并在一起,那么问题来了,如何把pdf文件合并呢?小编最近发现一个简单的方法,想了解的朋友接着往下看。 如何把p

    2024年02月10日
    浏览(37)
  • 如何合并为pdf文件?合并为pdf文件的方法

    在数字化时代,人们越来越依赖电子文档进行信息交流和存储。合并为PDF成为一种常见需求,它能将多个文档合而为一,方便共享和管理。无论是合并多个单页文档,还是将多页文档合并,操作都变得简单高效。那么。如何合并为pdf文件,一起去了解一下吧! 如何合并为pdf文

    2024年02月10日
    浏览(42)
  • 两个pdf文件合并为一个怎么操作?分享pdf合并操作步骤

    不管是初入职场的小白,还是久经职场的高手,都必须深入了解pdf,特别是关于pdf的各种操作,如编辑、合并、压缩等操作,其中合并是这么多操作里面必需懂的技能之一,但是很多人还是不知道两个pdf文件合并为一个怎么操作,下面 不管是初入职场的小白,还是久经职场的

    2024年02月10日
    浏览(50)
  • C#实现将excel转换成pdf的三种方法

    本人经过一上午的搜索,总结了C#将excel转pdf的三种方法(导出的excel转化成pdf下载下来)。 设计文章数量较多,没有转载请见谅。 下载地址https://www.e-iceblue.cn/Downloads/Free-Spire-XLS-NET.html 附带MemoryStream与FileStream的相互转换 以上三种方法经过试验是可以使用的。 据说还有用py

    2024年02月04日
    浏览(44)
  • 合并PDF(将多个pdf文件整合成一个pdf文件)

    推荐使用下面这个 免费在线 的PDF文件合并工具,简单且易操作。 合并PDF - 在线上免费合并PDF文件 (smallpdf.com) 还有其他功能,不过现在我尚未使用其他功能:  关于费用:  

    2024年02月04日
    浏览(36)
  • Python操作PDF:PDF文件合并与PDF页面重排

    处理大量的 PDF 文档是非常麻烦的事情,频繁地打开关闭文件会严重影响工作效率。对于一大堆内容相关的 PDF 文件,我们在处理时可以将这些 PDF 文件合并起来,作为单一文件处理,从而提高处理效率。同时,我们也可以选取不同PDF文件中想要的页面制作新的 PDF 文件。本文

    2024年02月06日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包