已加密PDF文件无法转换成Word文件
在线转换法
在百度中搜索PDF转Word等关键字眼,百度会自动识别到用户的需求。在页面顶端会出现一个在线的PDF转换成Word转换器窗口,用户可以通过上传本地的PDF文件直接在线转换,而省去了安装软件的操作。
图1(点击看大图)
选择好PDF文件后点击生成Word文档按钮
在线转换完成后点击下载
转换质量对比
转换质量对比是决定PDF转Word方法的标准,由于在线PDF转换成Word转换器并不能将图片转换成文字的功能,因此我们主要对比一下排版和文字的准确性即可。
转换后的Word文档页眉线已经有偏移现象
图片排版同样有偏移现象
通过转换质量对比可以发现,通过在线PDF转换成Word转换器转换出来的文档并不是完全一致的,但是也是在可以接受的范围之内。图片和细节的排版通过手动调整可以恢复到原样。图老师小编粗略浏览一遍文字,并没有发现有错别字或者乱码现象。
Fatal error: Call to undefined method wpdb_2::delete() in
/home/*/public_html/wp-includes/option.php on line 370
网上搜索了一下,发现是由DB-Cache缓冲插件引起的。
解决方法:
1.FTP打开/wp-content/中,找到db.php,先备份一下,然后就删除。进入后台后,把DB-Cache缓冲插件关闭再开启就好了。
问题暂时解决,这只是一个暂时解决可以进入后台的方法。方法解决来源:http://techgyo.com/index.php/solved-wordpress-3-4-update-fatal-error-while-updating-database/ (英文来的!)
2.删除垃圾评论的时候,又出现了一个新的问题!
Fatal error: Call to undefined method wpdb_2::delete() in /home/*/public_html/wp-includes/meta.php on line 495
问题原因还是DB-Cache缓冲插件引起的。看来要彻底解决问题要不就关闭这个插件,要不就看下面的解决方法:
上面不是叫大家删除了db.php文件,问题就在于此,解决方法就是下载一个db.php上传覆盖就好了。问题完全解决了。
忙了几天,晕头转向,有几天都要弄到凌晨两点才愿意去睡,明明已经超困了,但是看到那些该死的问题和错误,我实在是放不下心去睡觉啊。各位别介意, 忍不住发几句牢骚,马上转入正题吧。这几天让我困扰的东西就是wordpress这博客神器了。我以前写过wordpress相关的文章,但不深入,只是 比较浅显的东西,因为那个时候我研究比较多的是dedecms,现在我就给大家总结一下我这几天碰到的一些问题和解决方法。
搭建服务器、安装wordpress之类的基础东西我就不再重复赘述了,大家可以看看之前写的文章,叫《身为站长的我分享给新人的一些经验》。今天我要讲的东西是比之前深入一点的,可能大家已经碰到或者以后将会碰到的问题。
1、主题模板问题
相信99%的站长使用wordpress必定是用模板的,而不是自己开发的,因为wordpress身为国外最知名的cms,拥有无数的粉丝和用户 者,自然资源群是非常庞大的,各类插件和主题数不胜数,在国内也渐渐变得十分的流行。不过很重要的一点是,许多模板都是抄袭后稍作修改的盗版作品,这类作 品最大的缺陷是,一次性。何为一次性呢?
就是只有一个版本,不再更新,因为它是抄袭的,完全没必要跟着原版去更新。这类主题因为长期不更新,很容易存在bug,大家可以打开 wp_config.php这个wordpress配置文件,找到里面的一行代码,叫 define('WP_DEBUG', false),把其中(图老师整理)的false参数改成true。这个是主题开发者常用的功能,开启后,登陆wordpress,会出现debug反馈,你可以看看你 的主题文件是否有问题。通常问题都出在xxx_options.php这个文件。此文件是主题在wordpress后台的设置页面,目的是方便新手站长设 置网站,但是很多偷盗者抄袭的主题,这里都会有问题,而这个问题导致的直接结果就是在wordpress后台处理完操作项返回空页面。
如果debug反馈的信息中,包含xxx_options.php和wordpress本身的pluggable.php,那么问题就出在 xxx_options.php这个文件的编码问题。wordpress的后台php文件的默认编码是ANSI,而作者开发的主题通常是UTF-8,这没 有问题,问题在于部分主题是带BOM的UTF-8,就是带签名的,比普通的UTF-8在文件头部多了几个看不见的16进制。解决的办法是,用 UltraEdit打开文件,另存为无BOM的UTF-8即可。大家可以多利用define('WP_DEBUG', true)这个功能去解决平常碰到的一些问题,遇到解决不了的记得用搜索引擎去找答案。
2、主题里的functions.php
我不知道这个是通病还是某些主题作者比较恶心人,如果你在ftp里直接覆盖修改过的functions.php,结果是两个文件里的内容合并,而不 是覆盖。另外,在你切换主题的时候,这类恶心的主题也会把其他主题的functions通通合并到它的functions.php下,这样会导致某些功能 函数冲突,导致wordpress后台和网站前台都打不开,即便打开了也很慢,严重的还会导致服务器崩溃。所以大家最好要注意functions.php 这个文件的使用,在ftp上修改的时候,最好删掉之后重新上传,而不要直接覆盖。
3、插件与新版本的wordpress兼容问题
当你打开define('WP_DEBUG', true)后,你会很容易看到,wordpress提醒你,在2.X以后的版本,wordpress修改了很多地方,在头部信息返回的问题上与之前的版本 有较大差异,长期不更新的插件可能会出现兼容性问题,这个时候,你要做的就是按照debug提示修改插件里的文件。例如Delete-Revision这 个好用的插件因为作者已经停止更新了,所以在兼容性上有点问题,你要把add_options_page('Delete-Revision', 'Delete-Revision','8', basename(__FILE__), 'my_options_delete_revision')改成add_options_page('Delete-Revision', 'Delete-Revision','manage_options', basename(__FILE__), 'my_options_delete_revision')。其他的插件也差不多,需要修改里面传递的参数,只要稍微懂一点开发知识的站长,解决起来并 不难。
4、去掉wordpress自带多余的头部信息
你可以打开一个wordpress搭建的网站页面,查看源代码,你会发现在中间有大量的标签,很多其实是完全没有必要的,只会延缓页面载入速度,造成服务器负担而已。下面我就列出通常需要去除的多余头部标签:
remove_action( 'wp_head','wp_generator');
remove_action( 'wp_head','rsd_link');
remove_action( 'wp_head','wlwmanifest_link');
remove_action( 'wp_head','wp_shortlink_wp_head', 10, 0);//去掉shorlink标签,固定链接优化后,shortlink反而是带?的动态,比起伪静态差远了,还会让搜索引擎认为是重复内容。
remove_action( 'template_redirect','wp_shortlink_header', 11, 0);
Tulaoshi.Comadd_filter('show_admin_bar','__return_false');//移除网站后台登陆后,前台显示的admin条
remove_action( 'wp_head', 'index_rel_link');
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');//去除标签中pre、next这样的标签(看似有用,实则无用)
本文由 : 天使爱美丽 http://www.tsimli.com 原创发表。如果对你有帮助,保留此信息后欢迎转载。
通过复制Table生成word和excel,个人感觉这个功能还是比较实用的,下面有个不错的示例,希望对大家有所帮助
代码如下:!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=gb2312" / title无标题文档/title script language="javascript" function AutomateWordAutoPaging(prefixion,Count) { var oWD = new ActiveXObject("Word.Application"); var oDC = oWD.Documents.Add(); oDC.ShowGrammaticalErrors = false; //屏蔽语法检查 oDC.ShowSpellingErrors = false; //屏蔽拼写检查 var oRange =oDC.Range(0,1); for (i=0;iCount;i++) { var sel = document.body.createTextRange(); var TableName = prefixion+i; var Table = document.getElementById(TableName) sel.moveToElementText(Table); sel.select(); sel.execCommand("Copy"); oWD.Selection.Paste(); oWD.Selection.InsertBreak(); //插入分页符 } //oWD.ActiveDocument.ActiveWindow.View.Type=3 //设置浏览模式 oWD.Visible = true; }; function AutomateExcel(prefixion) { var elTable = document.getElementById("AutomateExcel"); var oRangeRef = document.body.createTextRange(); oRangeRef.moveToElementText(elTable); oRangeRef.execCommand("Copy"); try{ var appExcel = new ActiveXObject( "Excel.Application" ); }catch(e) { alert("无法调用Office对象,请确保您的机器已安装了Office并已将本系统的站点名加入到IE的信任站点列表中!"); return; } appExcel.Visible = true; appExcel.Workbooks.Add().Worksheets.Item(1).Paste(); appExcel.Workbooks(1).Worksheets.Item(1).Columns("A:A").ColumnWidth = 100; //appExcel.Workbooks(1).Worksheets.Item(1).Columns("B:B").ColumnWidth = 21; appExcel = null }; /script /head body input type="button" value="导出到Word自动分页" onclick="AutomateWordAutoPaging('Table',5)" / input type="button" value="导出到Excel控制列宽" onclick="AutomateExcel('Table')"/ div id="AutomateExcel" TABLE class=tabp id="Table0" cellSpacing=0 cellPadding=2 width="100%" align=center border=1 TR TD width="100%" align="center"标题0/TD /TR TR TD align="center"内容0/TD /TR /TABLE BR TABLE class=tabp id="Table1" cellSpacing=0 cellPadding=2 width="100%" align=center border=1 TR TD width="100%" align="center"标题1/TD /TR TR TD align="center"内容1/TD /TR /TABLE BR/ TABLE class=tabp id="Table2" cellSpacing=0 cellPadding=2 width="100%" align=center border=1 TR TD width="100%" align="center"标题2/TD /TR TR TD align="center"内容2/TD /TR /TABLE BR/ TABLE class=tabp id="Table3" cellSpacing=0 cellPadding=2 width="100%" align=center border=1 TR TD width="100%" align="center"标题3/TD /TR TR TD align="center"内容3/TD /TR /TABLE BR/ TABLE class=tabp id="Table4" cellSpacing=0 cellPadding=2 width="100%" align=center border=1 TR TD width="100%" align="center"标题4/TD /TR TR TD align="center"内容4/TD /TR /TABLE BR/ /div /body /html直接引用Microsoft的COM是可以生成Word的,下面为大家介绍下实现的javascript代码
代码如下:html head meta http-equiv=Content-Type content="text/html;charset=utf-8" titleBuild Document by Script/TITLE SCRIPT LANGUAGE="text/javascript" function word_onclick() { var myDocApp=null; myDocApp =new ActiveXObject("word.Application"); myDocApp.Application.Visible = true; var myDoc = myDocApp.Documents.Add(); myDocApp.Selection.ParagraphFormat.Alignment=1 myDocApp.Selection.Range.Bold=true; myDocApp.Selection.Font.Size=22; myDocApp.Selection.Text="请假申请单" myDocApp.Selection.insertAfter("n"); myDocApp.Selection.MoveRight(2,10); myDocApp.Selection.TypeParagraph(); myDocApp.Selection.Font.Bold=false; myDocApp.Selection.Font.Size=12; var myTable0=myDoc.Tables.Add(myDocApp.Selection.Range,3,4); myTable0.cell(1,1).Range.Text="请假人"; myTable0.cell(1,2).Range.Text="张三"; myTable0.cell(1,3).Range.Text="请假时间"; myTable0.cell(1,4).Range.Text="2006-2-10"; myTable0.cell(2,1).Range.Text="工号"; myTable0.cell(2,2).Range.Text="32412"; myTable0.cell(2,3).Range.Text="填表时间"; myTable0.cell(2,4).Range.Text="2006-2-9"; myTable0.cell(3,1).Range.Text="请假原因"; myTable0.cell(3,2).Range.Text="感冒"; myTable0.cell(3,3).Range.Text="处理方式"; myTable0.cell(3,4).Range.Text="病假"; var range=myDocApp.ActiveDocument.Content; range.Collapse(0); range.insertAfter("n"); range=myDocApp.ActiveDocument.Content; range.Collapse(0); var myTable2=myDoc.Tables.Add(range,1,2); myTable2.Columns(1).SetWidth(320,2); myTable2.cell(1,1).Range.Text="申请人签名" //空格勿删 myTable2.cell(1,2).Range.Text="申请人的签名"; try{ myDocApp.ActiveDocument.SaveAs("e:JaveToWord.doc"); }catch(exception){ alert("浏览器安全设置过高,保存文件到本地失败"); myDocApp.Documents.close(); myDocApp.Application.quit(); myDocApp=null; window.close(); } } /SCRIPT /HEAD BODY pa href="javascript:word_onclick()"生成WORD/a/p /BODY /HTML在七牛设置镜像存储
1. 登陆七牛,选择你的空间(注意:空间一定要设置为公开),然后点击 空间设置 域名绑定,输入自定义的域名,或者直接使用七牛提供的域名:
2. 然后点击 镜像存储 菜单,点击一键加速按钮:
3. 输入源站的地址,点击确定加速:
安装和使用七牛镜像存储 WordPress 插件
下载七牛镜像存储 WordPress 插件,上传激活,然后在 WordPress 后台 七牛镜像存储 基本设置,输入你前面绑定的域名(注意输入的域名一定要加上 http://):
七牛镜像存储 WordPress 插件高级用法
除了将网站上的静态文件镜像到七牛之外,七牛镜像存储 WordPress 插件还可以做更多事情:
更新七牛文件
如果你希望在 WordPress 后台直接更新镜像到七牛的文件,你需要在上面的设置中输入七牛的 ACEESS KEY 和 SECRET KEY,以及绑定的空间名。然后就可以在 WordPress 后台直接更新文件了:
七牛的 ACEESS KEY 和 SECRET KEY 可以到 https://portal.qiniu.com/setting/key 获取:
上传 Robots.txt
部分用户使用七牛的镜像存储功能可能会导致网站被百度 (m.tulaoshi.com)K,解决方法就是上传一个 Robots.txt 文件到七牛云存储:
#标题 : WordPress formcraft Plugin Sql Injection
#
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/wjc/)# 作者: Ashiyane Digital Security Team
#
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/wjc/)#软件下载: www.wordpress.org
#
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/wjc/)# 测试环境: Windows , Linux
#
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/wjc/)#漏洞 : Sql Injection
#
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/wjc/)# Location1:
[Target]/wp-content/plugins/formcraft/form.php?id=[Sql]
#
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/wjc/)#
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/wjc/)#
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/wjc/)# Exploit-DB Note:
# A PoC: form.php?id=1%20and%20 1=1
Milad Hacking
We Love Mohammad
References:
http://xforce.iss.net/xforce/xfdb/89581
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/wjc/)http://www.securityfocus.com/bid/64183
http://www.exploit-db.com/exploits/30002
http://secunia.com/advisories/56044
http://packetstormsecurity.com/files/124343/wpformcraft-sql.txt