【Java】【Windows】调用Typora把md文件转成html并带上css样式,理论上可以调用任何exe程序

摘要:
1、利用移动鼠标模拟用户点击功能,可使用任何程序1packagecom.xiaostudy.server;23importjava.awt.*;4importjava.awt.datatransfer.StringSelection;5importjava.awt.event.InputEvent;6importjava.awt.event.KeyEvent;7importjava.io.File

1、利用移动鼠标模拟用户点击功能,可使用任何程序

1 packagecom.xiaostudy.server;
2 
3 import java.awt.*;
4 importjava.awt.datatransfer.StringSelection;
5 importjava.awt.event.InputEvent;
6 importjava.awt.event.KeyEvent;
7 importjava.io.File;
8 importjava.io.IOException;
9 
10 public classMyTest {
11 
12     public static void main(String[] args) throwsIOException {
13 test1();
14 }
15 
16     private static voidtest1() {
17 
18         try{
19             String command = "D:/Program Files/Typora/Typora.exe D:/test/md2html/1.md";
20             String htmlPath = "D:/test/md2html/1.html";
21             File htmlFile = newFile(htmlPath);
22             boolean htmlExist =htmlFile.exists();
23             //执行命令返回执行的子进程对象
24 Runtime.getRuntime().exec(command);
25             //休息0.5秒钟
26             Thread.currentThread().sleep(500);
27 
28             Robot robot = newRobot();
29             //设置Robot产生一个动作后的休眠时间,否则执行过快
30             robot.setAutoDelay(150);
31 
32             //最大化窗口,让程序满屏,起点在0,0
33 robot.keyPress(KeyEvent.VK_WINDOWS);
34 robot.keyPress(KeyEvent.VK_UP);
35 robot.keyRelease(KeyEvent.VK_UP);
36 robot.keyRelease(KeyEvent.VK_WINDOWS);
37 
38             //程序距离0,0位置,最大化时就是0偏移
39             int x = 0;
40             int y = 0;
41 
42             //快捷键:文件(安心Alt+F键然后松开)
43 robot.keyPress(KeyEvent.VK_ALT);
44 robot.keyPress(KeyEvent.VK_F);
45 robot.keyRelease(KeyEvent.VK_F);
46 robot.keyRelease(KeyEvent.VK_ALT);
47 
48             //第一个移动鼠标是让鼠标回到0,0点,第二个移动鼠标到(导出)
49             robot.mouseMove(-1, -1);
50             robot.mouseMove(23+x, 450+y);
51             //点击鼠标左键,然后松开
52             System.out.println("鼠标左键");
53 robot.mousePress(InputEvent.BUTTON1_MASK);
54 robot.mouseRelease(InputEvent.BUTTON1_MASK);
55 
56             //鼠标移动到HTML
57             robot.mouseMove(-1, -1);
58             robot.mouseMove(300+x, 475+y);
59             //点击鼠标左键,然后松开
60             System.out.println("鼠标左键");
61 robot.mousePress(InputEvent.BUTTON1_MASK);
62 robot.mouseRelease(InputEvent.BUTTON1_MASK);
63 
64             //选择保存到具体位置
65             //复制
66             //声明一个StingSelection 对象,并使用String的参数完成实例化;
67             StringSelection stringSelection = newStringSelection(htmlFile.getAbsolutePath());
68             //使用Toolkit对象的setContents将字符串放到粘贴板中 ;
69             Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
70             //粘贴
71 robot.keyPress(KeyEvent.VK_CONTROL);
72 robot.keyPress(KeyEvent.VK_V);
73 robot.keyRelease(KeyEvent.VK_V);
74 robot.keyRelease(KeyEvent.VK_CONTROL);
75             //回车
76 robot.keyPress(KeyEvent.VK_ENTER);
77 robot.keyRelease(KeyEvent.VK_ENTER);
78 
79             if(htmlExist) {
80                 //保存覆盖
81 robot.keyPress(KeyEvent.VK_Y);
82 robot.keyRelease(KeyEvent.VK_Y);
83 }
84             //关闭
85 robot.keyPress(KeyEvent.VK_CONTROL);
86 robot.keyPress(KeyEvent.VK_W);
87 robot.keyRelease(KeyEvent.VK_W);
88 robot.keyRelease(KeyEvent.VK_CONTROL);
89 
90         } catch(Exception ex) {
91 ex.printStackTrace();
92         } finally{
93 }
94 }
95 
96 }

下面动图执行程序后鼠标是程序调用,直到程序关闭后,打开html文件是手动的。

【Java】【Windows】调用Typora把md文件转成html并带上css样式,理论上可以调用任何exe程序第1张

2、全程使用快捷键,不用移动鼠标,但是要设置导出HTML的快捷键

文件->偏好设置->通过->打开高级设置->打开conf.user.json文件

【Java】【Windows】调用Typora把md文件转成html并带上css样式,理论上可以调用任何exe程序第2张

"HTML":"Ctrl+Alt+E"
1 packagecom.xiaostudy.server;
2 
3 import java.awt.*;
4 importjava.awt.datatransfer.StringSelection;
5 importjava.awt.event.KeyEvent;
6 importjava.io.File;
7 
8 public classMyTest {
9 
10     public static voidmain(String[] args) {
11 test2();
12 }
13 
14     private static voidtest2() {
15 
16         try{
17             String command = "D:/Program Files/Typora/Typora.exe D:/test/md2html/1.md";
18             String htmlPath = "D:/test/md2html/1.html";
19             File htmlFile = newFile(htmlPath);
20             boolean htmlExist =htmlFile.exists();
21             //执行命令返回执行的子进程对象
22 Runtime.getRuntime().exec(command);
23             //休息5秒钟
24             Thread.currentThread().sleep(500);
25 
26             Robot robot = newRobot();
27             //设置Robot产生一个动作后的休眠时间,否则执行过快
28             robot.setAutoDelay(150);
29 
30             //刚设置好的快捷键,导出->HTML(Ctrl+Alt+E)
31 robot.keyPress(KeyEvent.VK_CONTROL);
32 robot.keyPress(KeyEvent.VK_ALT);
33 robot.keyPress(KeyEvent.VK_E);
34 robot.keyRelease(KeyEvent.VK_E);
35 robot.keyRelease(KeyEvent.VK_ALT);
36 robot.keyRelease(KeyEvent.VK_CONTROL);
37 
38             //复制
39             //声明一个StingSelection 对象,并使用String的参数完成实例化;
40             StringSelection stringSelection = newStringSelection(htmlFile.getAbsolutePath());
41             //使用Toolkit对象的setContents将字符串放到粘贴板中 ;
42             Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
43 
44             //粘贴
45 robot.keyPress(KeyEvent.VK_CONTROL);
46 robot.keyPress(KeyEvent.VK_V);
47 robot.keyRelease(KeyEvent.VK_V);
48 robot.keyRelease(KeyEvent.VK_CONTROL);
49             //回车
50 robot.keyPress(KeyEvent.VK_ENTER);
51 robot.keyRelease(KeyEvent.VK_ENTER);
52 
53             if(htmlExist) {
54                 //保存覆盖
55 robot.keyPress(KeyEvent.VK_Y);
56 robot.keyRelease(KeyEvent.VK_Y);
57 }
58             
59             //关闭
60 robot.keyPress(KeyEvent.VK_CONTROL);
61 robot.keyPress(KeyEvent.VK_W);
62 robot.keyRelease(KeyEvent.VK_W);
63 robot.keyRelease(KeyEvent.VK_CONTROL);
64 
65         } catch(Exception ex) {
66 ex.printStackTrace();
67         } finally{
68 }
69 }
70 
71 }

然后关闭Typora再重新打开,就可以看到快捷键了

【Java】【Windows】调用Typora把md文件转成html并带上css样式,理论上可以调用任何exe程序第3张

免责声明:文章转载自《【Java】【Windows】调用Typora把md文件转成html并带上css样式,理论上可以调用任何exe程序》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CentOS7 编译安装golang和rpm安装golangjs前台与后台数据交互下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

快速搭建博客:写作技巧

前言 这篇博文讲的Typora,不止可以用来写个人博客,还可以用来写博客园,加上自己搞个图床,在Typora上传图片就自动上传图床库上去,真的很方便。也可以在CSDN写博客,然后在那边复制过来,使用的是CSDN的图床。 我用博客园说的Windows Live Writer这个安装不了。 1. Hexo添加文章时自动打开编辑器 首先在站点目录下的scripts...

鼠标右键新建 Typora 文件

问题:如何在任何目录下通过鼠标右键新建 Typora 文件? 共有 6 步: 1. 打开注册表: 2. 定位 HKEY_CLASSES_ROOTDirectoryBackgroundshell 目录,建议手动从根目录下一级级查找,系统查找注册表很慢。 3. 在 shell 上右键新建 “项”,取名为 Typora 4. 双击 Typora 右边窗口...

使用Typora+Picgo+qiniu+坚果云打造自动同步文件,上传图片至图床的笔记工具

本文旨在记录下使用 typora 以及一些自动工具打造一个适合自己的 Markdown 笔记工具的过程。 本机为 mac,Windows在设置上可能会有一些出入。 有问题可以查看官方文档。 使用到的工具: Typora , Markdown编辑器 Picgo,本地图床管理工具 NutStore,坚果云自动同步工具 Qiuniu,七牛对象存储图床 过程:...

为知笔记+Typora+PicGo发表博客园博客

为知笔记+Typora+PicGo发表博客园博客 背景: 印象笔记编辑功能太弱,价格太坑,寻找替代品为“为知笔记”,一个主要原因“为知笔记”支持导入印象笔记格式笔记; Typora编写Markdown体验特别好,Markdown不足之处在于图片插入,这里使用“PicGo”上传SMMS图床解决; 环境:Windows 软件准备: 为知笔记 Typo...

为知笔记使用Typora

为知笔记使用Typora编写markdown 1.设置Typora为为知笔记编辑器 ,点击"添加"--点击"浏览"--在安装路径选中Typora的exe; 以后编辑markdown的时候,选中Typora即可; 图片问题 使用Typora编辑为知笔记时,图片将不能直接显示,解决方法; 安装为知笔记的的插件; 将笔记文件使用Editor.md插件打开,保存...

typora快捷键

基础信息 typora是一款极佳的markdown写作软件,编辑和预览两者合二为一,免费良心软件,推荐使用。 官网:https://www.typora.io/ typora版本:windows 版0.9.58beta 常用快捷键 无序列表:输入-之后输入空格 有序列表:输入数字+“.”之后输入空格 任务列表:-[空格]空格 文字 标题:ctrl+数字...