小编cle*_*tus的帖子

用PHP将HTML + CSS转换为PDF?

我有一个HTML(不是XHTML)文档,可以在Firefox 3和IE 7中呈现.它使用相当基本的CSS来设置它并在HTML中呈现得很好.

我现在正在采用将其转换为PDF的方法.我试过了:

  • DOMPDF:表格存在很大问题.我考虑了我的大型嵌套表并且它有所帮助(在它消耗高达128M的内存然后死亡之前 - 这就是我对php.ini内存的限制)但是它使表格完全混乱并且似乎没有得到图片.这些表只是基本的东西,有些边框样式可以在不同的点添加一些线条;
  • HTML2PDF和HTML2PS:我实际上有更好的运气.它呈现了一些图像(所有图像都是谷歌图表URL),表格格式要好得多,但它似乎有一些复杂性问题,我还没有想到,并且因为未知的node_type()错误而死亡.不知道从哪里开始; 和
  • Htmldoc:这似乎在基本HTML上运行良好,但几乎不支持CSS,所以你必须用HTML做所有事情(我没有意识到它仍然是2001年在Htmldoc-land ...)所以它对我来说没用.

我尝试了一个名为Html2Pdf Pilot的Windows应用程序,它实际上做得相当不错,但我需要的东西至少在Linux上运行,理想情况下通过Web服务器上的PHP按需运行.

我错过了什么,或者我该如何解决这个问题?

html css php pdf pdf-generation

1585
推荐指数
27
解决办法
85万
查看次数

使用ORM或纯SQL?

对于我开发的一些应用程序(然后继续忘记),我一直在编写纯SQL,主要用于MySQL.虽然我在SQLAlchemy中使用了python中的ORM ,但我并没有坚持使用它们.通常是文件或复杂性(从我的观点来看)阻碍了我.

我看是这样的:使用ORM来实现可移植性,如果它只是使用一种类型的数据库则使用普通SQL.在开发需要数据库支持的应用程序时,我真的在寻找何时使用ORM或SQL的建议.

考虑到这一点,使用轻量级包装来处理数据库不一致与使用ORM相比会好得多.

sql language-agnostic orm

240
推荐指数
8
解决办法
9万
查看次数

是否可以使jQuery UI Datepicker禁用星期六和星期日(和假期)?

我使用日期选择器来选择预约日.我已经将日期范围设置为仅适用于下个月.这很好.我想从可用的选择中排除星期六和星期日.可以这样做吗?如果是这样,怎么样?

javascript jquery jquery-ui jquery-ui-datepicker

192
推荐指数
7
解决办法
13万
查看次数

你可以在不使用表格的情况下进行HTML布局吗?

好吧,我一两周前有一个简单的布局问题.即页面的部分需要标题:

+---------------------------------------------------------+
| Title                                            Button |
+---------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

非常简单的东西.桌面仇恨似乎已经在Web世界中占据了,当我问为什么使用HTML表单的定义列表(DL,DD,DT)标签而不是表格时,我被提醒了 现在已经讨论过表vs divs/CSS的一般主题,例如:

因此,这不是关于CSS与布局表格的一般性讨论.这只是一个问题的解决方案.我使用CSS尝试了以上的各种解决方案,包括:

  • 浮动按钮或包含按钮的div;
  • 相对于按钮的位置; 和
  • 位置相对+绝对.

由于各种原因,这些解决方案都不令人满意.例如,相对定位导致z-index问题,其中我的下拉菜单出现在内容下.

所以我最终回到:

<style type="text/css">
.group-header { background-color: yellow; width: 100%; }
.group-header td { padding: 8px; }
.group-title { text-align: left; font-weight: bold; }
.group-buttons { text-align: right; }
</style>
<table class="group-header">
<tr>
  <td class="group-title">Title</td>
  <td class="group-buttons"><input type="button" name="Button"></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

而且效果很好.它很简单,因为它具有向后兼容性(即使在IE5上也可以工作)并且它只是起作用.没有搞乱定位或花车.

所以任何人都可以做没有表的等价物吗?

要求是:

  • 向后兼容:到FF2和IE6;
  • 合理一致:跨越不同的浏览器;
  • 垂直居中:按钮和标题具有不同的高度; 和
  • 灵活:允许合理精确控制定位(填充和/或边距)和样式.

在旁注中,我今天看到了几篇有趣的文章:

html css layout

101
推荐指数
5
解决办法
6万
查看次数

你会如何比较jQuery对象?

所以我想弄清楚如何比较两个jQuery对象,看看父元素是否是页面的主体.

这就是我所拥有的:

if ( $(this).parent() === $('body') ) ...
Run Code Online (Sandbox Code Playgroud)

我知道这是错的,但如果有人理解我所得到的,他们能指出我这样做的正确方法吗?

jquery compare

101
推荐指数
3
解决办法
8万
查看次数

为什么使用HTML表单的定义列表(DL,DD,DT)标签而不是表格?

我最近遇到过几个例子:

<dl>
  <dt>Full Name:</dt>
  <dd><input type="text" name="fullname"></dd>
  <dt>Email Address:</dt>
  <dd><input type="text" name="email"></dd>
</dl>
Run Code Online (Sandbox Code Playgroud)

用于做HTML表单.这是为什么?使用表格有什么好处?

html css forms

84
推荐指数
7
解决办法
8万
查看次数

为什么数据库功能被忽略,而是在中间层重新发明?

今天大多数IT项目似乎忽略了现有数据库引擎(如Oracle 11g和SQL Server 2008)中存在的大量功能的主要原因(除了"数据库独立性")有哪些?

或者,从赫尔辛基宣言博客借用这样的方式:

在过去的二十年中,我们发现DBMS内部可用的功能(特性)呈指数级增长.这些功能使我们能够构建数据库应用程序 这就是我们在九十年代蓬勃发展时所做的一切.

但是在新千年开始之际,发生了一些事情.而神秘地使DBMS在数据库应用程序项目中的作用减少到微不足道.(...)从新千年开始,我们将所有应用程序逻辑从DBMS推送到中间层服务器.在DBMS之外实现的东西的功能已经爆炸,并且功能丰富的DBMS几乎不用于除行存储之外的任何东西.

我们正在谈论类似的东西

  • 用作数据API的存储过程(用于安全性和避免过多的网络流量)
  • 物化观点
  • 取而代之的是触发器
  • 分层查询(连接)
  • 地理(空间数据类型)
  • 分析(潜在客户,滞后,汇总,立方体等)
  • 虚拟专用数据库(VPD)
  • 数据库级审计
  • 闪回查询
  • 数据库中的XML生成和XSL转换
  • 来自数据库的HTTP标注
  • 后台作业调度程序

为什么没有使用这些功能?为什么大多数Java,.NET和PHP开发人员都坚持使用"SELECT*FROM mytable"方法?

database

83
推荐指数
13
解决办法
2819
查看次数

JSON安全最佳实践?

在研究JSON与XML的问题时,我遇到了这个问题.现在,偏好JSON的原因之一被列为Javascript中的转换易用性,即使用eval().从安全角度来看,这立刻让我感到有些问题.

所以我开始对JSON的安全方面进行一些研究,并在博客文章中讨论JSON如何不像人们想象的那样安全.这部分突出:

更新:如果您正确地执行JSON 100%,那么您将只有顶级对象.数组,字符串,数字等都将被包装.然后,JSON对象将无法使用eval(),因为JavaScript解释器会认为它正在查看块而不是对象.这对于防止这些攻击有很长的路要走,但最好用不可预测的URL来保护您的安全数据.

好的,这是一个很好的规则:顶层的JSON对象应始终是对象,而不是数组,数字或字符串.听起来对我来说是一个很好的规则.

在涉及JSON和AJAX相关的安全性时还有什么可做的或避免的吗?

上面引用的最后一部分提到了不可预测的URL.有没有人有更多的信息,特别是你如何在PHP中做到这一点?我在Java方面比PHP更有经验,在Java中它很容易(因为你可以将一系列URL映射到单个servlet),而我所做的所有PHP都已经将一个URL映射到PHP脚本.

另外,您如何使用不可预测的URL来提高安全性?

javascript security ajax json

73
推荐指数
2
解决办法
7万
查看次数

将4个字节转换为int

我正在读这样的二进制文件:

InputStream in = new FileInputStream( file );
byte[] buffer = new byte[1024];
while( ( in.read(buffer ) > -1 ) {

   int a = // ??? 
}
Run Code Online (Sandbox Code Playgroud)

我想做什么来读取最多4个字节并从那些创建一个int值但是,我不知道该怎么做.

我觉得我必须一次抓取4个字节,并执行一个"字节"操作(如>> << >>&FF和类似的东西)来创建新的int

这个成语是什么?

编辑

哎呀,结果有点复杂(解释)

我想要做的是,读取一个文件(可能是ascii,二进制,无所谓)并提取它可能具有的整数.

例如,假设二进制内容(在基数2中):

00000000 00000000 00000000 00000001
00000000 00000000 00000000 00000010
Run Code Online (Sandbox Code Playgroud)

整数表示应该是1,2对吗?: - 前1位为32位,其余32位为2位.

11111111 11111111 11111111 11111111
Run Code Online (Sandbox Code Playgroud)

将是-1

01111111 11111111 11111111 11111111
Run Code Online (Sandbox Code Playgroud)

将会 Integer.MAX_VALUE ( 2147483647 )

java data-conversion

69
推荐指数
5
解决办法
10万
查看次数

66
推荐指数
4
解决办法
6万
查看次数