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

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

相关推荐
开开心心就好9 分钟前
电脑小说阅读器,支持朗读和自定义皮肤
服务器·开发语言·javascript·算法·pdf·c#·音视频
万化冥合2 小时前
怎么批量把 Word 转 PDF?
python·pdf·c#·word
十碗饭吃不饱2 小时前
Apache POI 踩坑:setFontFamily 二次设置字体不生效、样式残留问题深度解析
java·word·apache
开开心心就好3 小时前
证件照排版打印工具,免费可自定义尺寸
服务器·开发语言·算法·随机森林·pdf·音视频·散列表
深蓝冰河17 小时前
全脑记忆法创始人的2套快速记忆法pdf 书下载地址
pdf
老王的笔记v1 天前
69期 Filee文件格式转换工具 转盘拖拽 图片转PDF和音频转换
pdf·开源软件
指针向南1 天前
怎么把PDF里的图片提取出来?5种方法和在线工具的坑
图像处理·人工智能·计算机视觉·pdf
橙光成长1 天前
PDF离线工具箱深度解析:4MB纯前端单文件,40+功能全本地运行,文件绝不上传
前端·pdf·1024程序员节
易点云徐源2 天前
PDF 默认打开方式刚修好,过一分钟又变成“未知应用”?使用 ProcMon 成功抓出后台程序
windows·pdf