30
2020
06

C#开发之Word批量转PDF

C#开发之Word批量转PDF

源码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Threading;
using Microsoft.Office.Interop.Word;
 
namespace Word2Pdf
{
    class Program
    {
        public static Microsoft.Office.Interop.Word.Document wordDocument { get; set; }
 
        static void Main(string[] args)
        {
            string strFolder_f = null;
            string strFolder_t = null;
            string strFlag = null;
            System.Console.WriteLine("请输入Word文档所在目录");
            strFolder_f = System.Console.ReadLine();
            if (strFolder_f.Substring(strFolder_f.Length - 1, 1) != "\\")
            {
                strFolder_f += "\\";
            }
            strFolder_t = strFolder_f + @"pdf\";
            System.Console.WriteLine("\n创建PDF文档,请确认!");
            System.Console.Write("y(yes) or n(no) ?  ");
            strFlag = System.Console.ReadLine();
            if (strFlag == "y")
            {
                System.Console.WriteLine("\n开始创建PDF文档...");
                CheckFolder(strFolder_t);
                string strPdfFile = null;
                DirectoryInfo TheFolder = new DirectoryInfo(strFolder_f);
 
                Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application();
                object paramMissing = Type.Missing;
 
                foreach (FileInfo NextFile in TheFolder.GetFiles())
                {
                    strPdfFile = Path.ChangeExtension(strFolder_t + NextFile.Name, ".pdf");
                    wordDocument = appWord.Documents.Open(NextFile.FullName);
                    if (wordDocument != null)
                    {
                        wordDocument.ExportAsFixedFormat(strPdfFile, WdExportFormat.wdExportFormatPDF);
                        wordDocument.Close(ref paramMissing, ref paramMissing, ref paramMissing);
                        wordDocument = null;
                    }
                    System.Console.Write(".. ");
                }
 
                if (appWord != null)
                {
                    appWord.Quit(ref paramMissing, ref paramMissing, ref paramMissing);
                    appWord = null;
                }
            }
 
            //KillProcessByName("WINWORD");
            GC.Collect();
            GC.WaitForPendingFinalizers();
 
            System.Console.Write("\n处理完毕,输入任意键退出");
            System.Console.ReadKey();
        }
 
        static void CheckFolder(string strFolderPath)
        {
            if (Directory.Exists(strFolderPath))
            {
                Directory.Delete(strFolderPath, true);
                Directory.CreateDirectory(strFolderPath);
            }
            else
            {
                Directory.CreateDirectory(strFolderPath);
            }
        }
 
        static void KillProcessByName(string name)
        {
            Process[] ps = Process.GetProcessesByName(name);
            foreach (Process p in ps)
            {
                if (p.ProcessName == name)
                    p.Kill();
            }
        }
    }
}


30
2020
06

wps 转 pdf 代码

using System;
using System.IO;
using Word;
namespace WpsToPdf
{
    class Wps2Pdf : IDisposable
    {
        dynamic wps;
        public Wps2Pdf()
        {
             //这里创建wps实例不知道用了什么骚操作就没有报错过 本机安装的是wps2016
            Type type = Type.GetTypeFromProgID("KWps.Application");
            wps = Activator.CreateInstance(type);
        }
        public void ToPdf(string wpsFilename, string pdfFilename = null)
        {
            if (wpsFilename == null) { throw new ArgumentNullException("wpsFilename"); }
            if (pdfFilename == null)
            {
                pdfFilename = Path.ChangeExtension(wpsFilename, "pdf");
            }
            Console.WriteLine(string.Format(@"正在转换 [{0}]
      -> [{1}]", wpsFilename, pdfFilename));
             //到处都是dynamic   看的我一脸懵逼
            dynamic doc = wps.Documents.Open(wpsFilename, Visible: false);//这句大概是用wps 打开  word  不显示界面
            doc.ExportAsFixedFormat(pdfFilename, WdExportFormat.wdExportFormatPDF);//doc  转pdf 
            doc.Close();
        }
        public void Dispose()
        {
            if (wps != null) { wps.Quit(); }
        }
    }
}


20
2020
06

Python is运算符

运算符描述实例
isis 是判断两个标识符是不是引用自一个对象x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is notis not 是判断两个标识符是不是引用自不同对象x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

is 与 == 区别:

12
2020
06

修改centos7系统语言

  1. 查看系当前语言包

locale

查看系统拥有语言包

12
2020
06

C#文件创建、修改、访问时间修改

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
 
using System.Text;
 
using System.Windows.Forms;
using System.IO;
 
namespace 修改文件创建日期或修改日期
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        string path = "";
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Title = "请选择要打开的文件";
            ofd.Multiselect = false;
            //ofd.InitialDirectory = @"C:\Uss\shaofeng\Desktop";
            ofd.Filter = "文本文件|*.txt|所有文件|*.*";
            ofd.ShowDialog();
            path = ofd.FileName;
            if (path=="")
            {
                return;
            }
            textBox1.Text = Path.GetFileName( path);
 
            FileInfo file = new FileInfo(path);
            textBox2.Text = "创建时间:" + file.CreationTime.ToString() + "\r\n修改时间:" + file.LastWriteTime.ToString() + "\r\n访问时间:" + file.LastAccessTime.ToString();
 
 
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            string strCuang = tboCuang.Text;
            
            string strXou = tboXou.Text;
             
            string strFw = tboFw.Text;
            if (path=="")
            {
                return;
            }
            FileInfo file = new FileInfo(path);
            try
            {
                int[] cj = strToNumTime(strCuang);
                int[] xg = strToNumTime(strXou);
                int[] fw = strToNumTime(strFw);
 
                file.CreationTime = new DateTime(cj[0], cj[1], cj[2], cj[3], cj[4], cj[5]);
                file.LastWriteTime = new DateTime(xg[0], xg[1], xg[2], xg[3], xg[4], xg[5]);
                file.LastAccessTime = new DateTime(fw[0], fw[1], fw[2], fw[3], fw[4], fw[5]);
                
            }
            catch
            {
 
                
            }
            finally
            {
                textBox3.Text = "创建时间:" + file.CreationTime.ToString() + "\r\n修改时间:" + file.LastWriteTime.ToString() + "\r\n访问时间:" + file.LastAccessTime.ToString();
            }
 
        }
 
        private static int[] strToNumTime(string str)
        {
            string[] cjTime = str.Split(new char[] { ' ', '/', ':' }, StringSplitOptions.RemoveEmptyEntries);
            int[] cj = new int[cjTime.Length];
            for (int i = 0; i < cjTime.Length; i++)
            {
                cj[i] = Convert.ToInt32(cjTime[i]);
            }
 
            return cj;
        }
    }
}


10
2020
06

docker 安装 centos

[root@localhost ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
8a29a15cefae: Pull complete 
Digest: sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              1b6b1fe7261e        3 weeks ago         647MB
centos              latest              470671670cac        4 months ago        237MB
10
2020
06

centos7安装配置docker

1. 安装/升级Docker客户端

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

10
2020
06

CentOS7 Docker 安装

CentOS7 Docker 安装

卸载旧版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

10
2020
06

CentOS 查看系统参数

#查看centos系统版本号
[root@localhost ~]# cat /etc/centos-release
CentOS Linux release 7.8.2003 (Core)

#查看内核版本
[root@localhost ~]# uname -r
3.10.0-1127.el7.x86_64

#查看操作系统位数
[root@localhost ~]# getconf LONG_BIT
64


10
2020
06

Docker 架构

Docker 架构

Docker 包括三个基本概念: