最近惹女票生气了,刚谈的温柔可人的女票不能就这么吹了啊!!!想着搞些什么东西补偿一下。想起来我俩QQ聊天记录应该挺有意义的,打算打印成书籍送给她,然后她必定痛哭流涕,非我不嫁也是有可能的。
但是制作过程中的到处是难点,不过作为一个程序员渣渣,除了练好ctrl+c和ctrl+v的技能,熟练召唤度娘和谷哥也是必要的。做程序员,一定要不耻下问。接下来开始制作。
1.首先从QQ消息管理器中选择你要导出的信息.
2.导出后进行mht文件的修改。
3.接下来就是对htm文件进行修改了。
4.进行PDF文件的生成。
5.PDF文件的修改。
第一步
导出的格式有三种:txt、bak、mht文件。txt文件没有图片文件,bak文件好像只能在恢复本地聊天记录的时候才能用,目光只能锁定在mht文件上。此时选择生成mht文件
第二步
mht文件不知道怎么编辑,问了度娘好久她也不告诉我,可能是嫉妒我有女票了。
这个时候我使用浏览器发现可以打开文件,然后就进行了文件的另存为命令保存成了htm格式的文件。
第三步
接下来就是对htm文件进行修改了。由于聊天记录中的图片占了很大的篇幅,又很不爽文件中文字的排版,鄙人又不是h5 coder,简直是天妒英才。只能硬着头皮瞅了瞅html的代码, 看不懂的地方特地跟公司的前端大佬进行了不可见人的交易 ,虽然问题很弱鸡,还牺牲了午休和下午的工作时间(希望同事看不到我的博客,要是有人打小报告,我的实习生涯可就要结束了。。。。) 。由于聊天记录中有的图片小有的图片大,因此在STYLE标签中设置了
IMG{max-width:200px; max-height:400px}
至少现在里边的图片看起来是比较舒服的大小了。 然后一行中有的文字太长,因此加上了自动换行的代码
DIV{width: 200px;word-wrap:break-word; word-break:break-all;}
然后又觉得姓名跟时间占一行比较省篇幅,就手撸了一段java代码对这个HTML文件进行了正则处理
class HtmlFileMatch {
public static void main(String[] args) throws IOException, InterruptedException {
File newFilePath = new File("E:\\html\\qqMessage\\matchFile.htm");
newFilePath.createNewFile();
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(newFilePath));
File filePath = new File("E:\\html\\qqMessage\\QQ Message1.htm");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath)));
String content = bufferedReader.readLine();
//对时间进行匹配 并把左边的</DIV>标签删掉
Pattern pattern = Pattern.compile("</DIV>([0-1]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])</DIV>");
while (content != null) {
Matcher matcher = pattern.matcher(content);
if (matcher.find()) {
String matchString = matcher.group(0);
String replaceString = "\r" + matchString.substring(6, matchString.length()) + "</br>";
content = content.replace(matchString, replaceString);
System.out.println("替换后的内容为 " + content);
}
bufferedWriter.write(content);
content = bufferedReader.readLine();
}
bufferedWriter.flush();
bufferedWriter.close();
bufferedReader.close();
}
}
这步看起来麻烦,其实主要是对HTML文件的编辑和正则表达式加上java IO流的运用。
第四步
再次使用浏览器打开刚刚编辑好的文件matchFile.htm,浏览器中包含打印功能。 但是我又发现文字只占用了文档一半的空间,如果能两页合成为一页就好了,生成PDF文件对页面合成应该是可以的。此时选择
这个时候pdf文件就生成了。
第五步
生成的PDF文件有点大,找了半天发现一个网站可以对PDF进行操作,安利一下 https://smallpdf.com/
通过这个网站我对生成的PDF文件进行了压缩(吐槽一下这个网站速度是真的慢)。我们也可以对PDF进行文件的处理比如:把文件转换为图片格式的然后进行图片的拼接;或者也可以将PDF文件转换为word文档然后进行文件的修改。
分享个编辑PDF的神器
链接:https://pan.baidu.com/s/1ql8ahm_mJgopQAPECvidSw 密码:cqdw
可以把PDF转换成word文档然后进行编辑、对PDF文件进行压缩、生成图片等骚操作,是不是很强
其实主要是对mth文件进行修改,改成自己喜欢的样式。
差不多就这些步骤吧,终于搞完了,累死爸爸了。接下来我们可以把这个PDF发给女票啊,打印成书籍当做礼物。美滋滋的人生。完蛋,忘了女票也关注我的博客了,希望在我送出礼物之前她看不到这篇文章。