这是基本问题......
我有一个很长的HTML文档(一份包含100多页的合同),最终需要是带有页眉和页脚(页码)的PDF文档。实现这一目标的最佳工具/语言是什么?
这是背景故事......
我在一家卫星办公室工作,为一家向分包商发放合同的低技术建筑公司,因为我是唯一一个能够解密打印机的人,我已成为公司的事实IT人员。在过去,为了签订合同,有人必须通过MS Word文件(锅炉板合同)并输入必要的信息来签订合同。
大约一年前,我对这种方法感到非常沮丧,我创建了一个MS Access数据库,用户可以使用Access表单添加信息,然后使用MS Word邮件合并来填充合同。这是一项巨大的改进,而且我们已经能够使用其他数据库功能更轻松地开始跟踪资金。数据库存储在卫星办公室的共享计算机上。但是,此系统仅在个人用户在其各自的计算机上安装了MS Access和MS Word且仅在物理连接到本地网络时才有效。
随着该系统在卫星办公室的成功,我现在正在尝试创建这个工具的基于网络的版本,公司的每个人都可以使用它只依赖于单个机器上的标准软件,并且可以在任何地方访问。
我已经使用XAMPP将计算机转换为服务器以进行开发,创建了一个SQL数据库,创建了HTML表单,并使用PHP来运行查询。在过去的几个月中,我遇到了无数语言(包括CSS)的崩溃,并最终得到了一切,系统将创建一个HTML版本的合同,其中包含所有填充的内容。现在我只需要使用页眉和页脚(页码)格式化它以进行打印(理想情况下是虚拟PDF打印机)。这应该是最简单的部分,对吗?
从表面看,带有@media:print标签的CSS似乎是实现这一目标的最佳方式,因为CSS3使用“@ top-left”和“content:counter(page)”之类的标签来做所有事情我想要的;然而,在投入大量时间设置所有内容后,似乎只有Foxfire支持这一点,IE和Chrome绝对不支持。页眉和页脚重叠了主体内容,我根本无法使用分页。显然这些都是常见的挫折。
在我的狩猎活动中,我遇到了一个名为Prince的程序,它似乎做了我想做的事情(而且还有更多),但是价格标签比我愿意付出的还要多。
我无法相信我想做的事情是新的或独特的事情。我怀疑我不是在寻找合适的关键词。是否有更好的工具/技术可以将HTML转换为适合打印的格式,而无需花费大量资金?
答案 0 :(得分:0)
我感觉到你的痛苦。但我发现真正有效的唯一解决方案是使用PDF库直接从PHP(或Python或其他语言)将格式化文本写入PDF,但是你提到了PHP而我已经这样做了。我已经使用过R& OS了:
http://pdf-php.sourceforge.net/
升级速度可能需要一段时间,但您可以使用它做很多事情,包括轻松创建格式精美的表格,流动文本和嵌入图像。问题在于,除了一些标签,例如< b>< / b>和< i>< / i>你没有使用任何HTML或CSS - 基本上你写了两个输出例程,一个用于HTML,一个用于PDF。