美文网首页
QQ聊天记录导出并进行编辑(打印成书送人啊)

QQ聊天记录导出并进行编辑(打印成书送人啊)

作者: ccDown | 来源:发表于2018-03-28 16:48 被阅读0次

    最近惹女票生气了,刚谈的温柔可人的女票不能就这么吹了啊!!!想着搞些什么东西补偿一下。想起来我俩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文件有点大,找了半天发现一个网站可以对PDF进行操作,安利一下 https://smallpdf.com/
    通过这个网站我对生成的PDF文件进行了压缩(吐槽一下这个网站速度是真的慢)。我们也可以对PDF进行文件的处理比如:把文件转换为图片格式的然后进行图片的拼接;或者也可以将PDF文件转换为word文档然后进行文件的修改。
    分享个编辑PDF的神器
    链接:https://pan.baidu.com/s/1ql8ahm_mJgopQAPECvidSw 密码:cqdw
    可以把PDF转换成word文档然后进行编辑、对PDF文件进行压缩、生成图片等骚操作,是不是很强

    其实主要是对mth文件进行修改,改成自己喜欢的样式。

    差不多就这些步骤吧,终于搞完了,累死爸爸了。接下来我们可以把这个PDF发给女票啊,打印成书籍当做礼物。美滋滋的人生。完蛋,忘了女票也关注我的博客了,希望在我送出礼物之前她看不到这篇文章。

    相关文章

      网友评论

          本文标题:QQ聊天记录导出并进行编辑(打印成书送人啊)

          本文链接:https://www.haomeiwen.com/subject/gncucftx.html