C#实现word和pdf格式互转

1、word转pdf

使用nuget:

Microsoft.Office.Interop.Word

winform页面:

后端代码:

cs 复制代码
//using Spire.Doc;
//using Spire.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 Aspose.Words;
using Microsoft.Office.Interop.Word;
using System.Windows.Forms;
using Application = Microsoft.Office.Interop.Word.Application;

namespace file_operations
{
    public partial class word转PDF : Form
    {
        public word转PDF()
        {
            InitializeComponent();
            //窗体居中
            this.StartPosition = FormStartPosition.CenterScreen;
            //无边框
            this.FormBorderStyle = FormBorderStyle.None;
            //放大无效
            this.MaximizeBox = false;
            //版权
            label4.Text = "该应用由昔舍版权所有,如修改源码请联系15574296763@163.com,侵权后果自负!!!";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            if(openFileDialog.ShowDialog() == DialogResult.OK)
            {
                string file = openFileDialog.FileName.ToLower();
                //获取文件扩展名
                string extension = System.IO.Path.GetExtension(file);
                if(extension != ".doc" && extension != ".docx")
                {
                    MessageBox.Show("请选择word文件", "错误提示");
                }
                else {
                    textBox1.Text = file;

                }
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
           FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
            if(folderBrowserDialog.ShowDialog() == DialogResult.OK)
            {
                textBox2.Text = folderBrowserDialog.SelectedPath+"\\";
            }
        }

        //保存为PDF
        private void button3_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Length == 0 && textBox2.Text.Length == 0 && textBox3.Text.Length ==0)
            {
                MessageBox.Show("请选择要转换的原文件和要保存的路径", "错误提示");
            }
            else
            {
                try
                {
                    //创建一个word实例
                    Application wordapp = new Application();
                //创建一个word文档对象,并打开word文件
                Document wordDoc = wordapp.Documents.Open(textBox1.Text);
                    //获取文件扩展名
                    string extension = System.IO.Path.GetExtension(textBox2.Text);
                    //设置保存路径,保存文件名称和文件格式
                    if (extension !=".pdf")
                    {
                        try
                        {
                            string savePath = textBox2.Text + textBox3.Text + ".pdf";
                            wordDoc.SaveAs2(savePath, WdSaveFormat.wdFormatPDF);
                        }
                        catch
                        {
                            MessageBox.Show("请检查选择的文件是否有效,保存的路径是否存在", "错误提示");
                        }
                    }
                    else
                    {
                        try
                        {
                            string savePath = textBox2.Text + textBox3.Text;
                            wordDoc.SaveAs2(savePath, WdSaveFormat.wdFormatPDF);
                        }
                        catch
                        {
                            MessageBox.Show("请检查选择的文件是否有效,保存的路径是否存在", "错误提示");
                        }

                    }
                    //保存以后打开文件路径
                    string openfilePath = textBox2.Text;
                    System.Diagnostics.Process.Start(openfilePath);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("请检查选择的文件是否有效,保存的路径是否存在", "错误提示");
                }

            }
        }

            private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            PDF转word pDF = new PDF转word();
            //隐藏本窗体
            this.Hide();
            //打开PDF转word
            pDF.Show();
        }

        private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            this.Close();
            PDF转word pDF = new PDF转word();
            pDF.Close();
        }
    }
}

2、pdf转word功能实现:

使用nuget:

破解的Spire.pdf

下载地址:crack-spire/手动破解Spire.PDF,已破解下载链接在底部.md at main · zhjunbai/crack-spire · GitHub

winform页面:

后端代码:

cs 复制代码
using Spire.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 Microsoft.Office.Interop.Word;
using Application = Microsoft.Office.Interop.Word.Application;
using System.Threading;

namespace file_operations
{
    public partial class PDF转word : Form
    {
        public PDF转word()
        {
            InitializeComponent();
            //窗体居中
            this.StartPosition = FormStartPosition.CenterScreen;
            //无边框
            this.FormBorderStyle = FormBorderStyle.None;
            //放大无效
            this.MaximizeBox = false;
            //版权
            label4.Text = "该应用由昔舍版权所有,如修改源码请联系15574296763@163.com,侵权后果自负!!!";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //获取PDF文件
            OpenFileDialog openFileDialog = new OpenFileDialog();
            if(openFileDialog.ShowDialog() == DialogResult.OK)
            {
                //获取文件名
                string files = openFileDialog.FileName.ToLower();
                //获取文件扩展名
                string extension = System.IO.Path.GetExtension(files);
                if(extension != ".pdf")
                {
                    MessageBox.Show("请选择PDF文件", "错误提示");
                }
                else
                {
                    pdftext.Text = files;
                }

            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog openFileDialog = new FolderBrowserDialog();
            if(openFileDialog.ShowDialog() == DialogResult.OK) {
                wordPath.Text = openFileDialog.SelectedPath + "\\";
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {

           //初始化pdfDocument实例
           PdfDocument doc = new PdfDocument();
            try
            {
                //加载PDF文档
                doc.LoadFromFile(pdftext.Text);
                //保存为DOC格式文档
                string savePath = wordPath.Text + wordname.Text + ".DOC";
                doc.SaveToFile(savePath, FileFormat.DOC);
                Thread.Sleep(3000);
                //保存以后打开文件路径
                string openfilePath = wordPath.Text;
                System.Diagnostics.Process.Start(openfilePath);
            }
            catch
            {
                MessageBox.Show("请确定文件选择正确", "错误提示");
            }
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            this.Close();
            word转PDF word = new word转PDF();
            word.Close();
        }

        private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            word转PDF word = new word转PDF();
            //隐藏本窗体
            this.Hide();
            word.Show();
        }
    }
}

版权所有,使用请留言声明并在代码中添加引用说明!!!!!

相关推荐
Yue谷8 小时前
【返修】Word的修订模式内容改为红色
word
gc_229916 小时前
学习C#调用OpenXml操作word文档的基本用法(10:读取其它文档属性)
word·openxml·自定义属性·扩展属性
缺点内向17 小时前
如何在 C# 中将 Word 文档转换为 EMF(增强型图元文件)
开发语言·c#·word·.net
诸葛大钢铁21 小时前
如何拆分PDF文件?快速拆分PDF文件的2个方法
pdf·pdf拆分
CodeCraft Studio1 天前
国产化PDF处理控件Spire.PDF教程:在Java快速解析PDF文本、表格、图像和元数据
java·python·pdf·pdf解析·spire.pdf·元数据解析·java pdf解析
计算机视觉-Archer1 天前
【免费pdf加水印】Adobe Acrobat PDF
pdf
secondyoung1 天前
Pandoc转换Word文档:使用Lua过滤器统一调整Pandoc文档中的图片和表格格式
经验分享·junit·word·lua·markdown·pandoc·mermaid
程序员哈基耄2 天前
本地化PDF工具箱:安全、高效的文档处理解决方案
安全·pdf
qq_451119552 天前
visio 导出pdf无边框无空白边距
pdf
yesyesido2 天前
PDF全能处理平台:高效压缩、精准拆分与智能合并的一站式解决方案
pdf