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();
        }
    }
}

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

相关推荐
humors2211 小时前
pdf工具分享
pdf·工具·程序·网站·转换·处理
新缸中之脑7 小时前
用MonkeyOCR解析复杂PDF
pdf
骆驼爱记录15 小时前
Word样式检查器使用指南
自动化·word·excel·wps·新人首发
tiantangzhixia17 小时前
Master PDF Linux 平台的 5.9.35 版本安装与自用
linux·pdf·master pdf
开开心心就好2 天前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
软件工程小施同学2 天前
区块链论文速读 CCF A--VLDB 2025 (1) 附pdf下载
pdf·区块链
缺点内向2 天前
C#: 告别繁琐!轻松移除Word文档中的文本与图片水印
c#·自动化·word·.net
徐小夕@趣谈前端2 天前
拒绝重复造轮子?我们偏偏花365天,用Vue3写了款AI协同的Word编辑器
人工智能·编辑器·word
kingwebo'sZone3 天前
C#使用Aspose.Words把 word转成图片
前端·c#·word
科技D人生3 天前
Vue.js 学习总结(20)—— Vue-Office 实战:word、pdf、excel、ppt 多种文档的在线预览
vue.js·word·vue-pdf·stylesheet·docx-preview·vue-office