将基于表的表单复制为PDF视图输出? -- views 领域 和 theming 领域 和 files 领域 和 printing 领域 drupal 相关 的问题

Replicating an existing table-based form as PDF views output?


简体版||繁體版
6
vote

问题

中文

Drupal 6项目我正在努力涉及具有一堆不同元素的自定义内容类型。我需要复制现有形式 - 请参阅屏幕截图。

最终,我需要将存储在附加到此内容类型的CCK字段中的数据,并根据屏幕截图重建它们作为表。然后需要可节省为pdf。

测量表示例

似乎有两种方法可以做我想要的自然的pdf内容:
  • PDF - Cumbersome作为PECK配置;需要手动定位每个字段。
  • 打印 - 我无法弄清楚如何通过$打印对象直接访问CCK字段变量;因此,我无法将其重建为表格。

如何进行大量cck字段,将它们格式化为表,然后使得pdf-beable?

谢谢。

编辑:要澄清,我有每行,例如,通过名为"flexifield" 的化合物/多个模块,存储在内容类型中的一行。数据不按照表存储;它存储为标签("级别" ),十进制数和布尔值(高于或低于等级之后?)。另一个布尔在整个纸张之间切换帝国和度量。根据将存储的测量值转换为帝国或度量,通过将存储器转换为帝国或度量标准来生成列。因此,我最终需要一种使用PHP调整和重组数据的方法。这就是为什么我不能例如告诉字段作为表格显示。

english

The Drupal 6 project I'm working on involves a custom content type with a bunch of different elements. I'm needing to replicate an existing form -- see screenshot.

Ultimately, I need to take the data stored in the CCK fields attached to this content type, and rebuild them as a table as per the screenshot. It then needs to be savable as a PDF.

measurement sheet example

It seems like there are two ways of doing PDF content of the nature I'm wanting:

  • Views PDF -- cumbersome as heck to configure; requires manually positioning each field.
  • Print -- I can't figure out how to directly access the CCK field variables through its $print object; consequently, I can't rebuild this as a table.

How would one go about taking a lot of CCK fields, formatting them as a table, then making that PDF-able?

Thanks.

Edit: To clarify, I have each row of, say, the FAC table stored as a row in the content type, through a compound/multifield module called "Flexifield". Data isn't stored as per the table; it's stored as a label ("level"), a decimal number and a boolean (above or below grade?). Another boolean toggles between Imperial and Metric for the entire sheet. The columns are generated by converting the number stored to either Imperial or Metric, depending on which the stored measurement is set as. Consequently, I'll ultimately need a way to tweak and restructure the data using PHP. This is why I can't, for instance, just tell the fields to display as a table.

           

回答列表

1
 
vote
vote
最佳答案
 

我用打印模块完成了这一点。

基本上,您可以构建一个视图,以显示需要的所有CCK数据,并将该视图嵌入到您指向使用来自自定义模块的Cok_Theme的新页面模板。

在我的情况下,我创建了名为property_report.tpl.php的模板,并删除了我想要pdf到该页面的所有视图。要使用打印模块在网站上打印任何内容的PDF,您只需构建如此:

的URL

www.example.com/printpdf/nid

 

I've done exactly this using the Print module.

Basically, you can build a view to display all of the cck data that need, and embed that view into a new page template which you've pointed to using hook_theme from a custom module.

In my case, I created the template named property_report.tpl.php and dropped all of the views that I wanted to pdf into that page. To print a pdf of any content on your website using the Print module, you just build the url like so:

www.example.com/printpdf/nid

 
 
   
   
2
 
vote

您有以下选项:

  1. 如果使用始终相同的线/列的预定义和固定布局计数,请创建 pdf形式并使用填充pdf 模块填充它。
  2. 如果数据列/线由您的数据生成动态生成,因此我将使用 phpexcel < / a>并使用保存文件作为PDF。 phppexcel非常简单,我认为这是在PDF中创建表格数据的最简单方法。下载并查看它们非常直观的示例。
 

You have the following options:

  1. If you count with a predefined and fixed layout with always the same lines/columns, go create a PDF form and populate it with the Fill PDF module.
  2. If the columns/lines are dynamically generated by your datas so I'll build an excel version of your datas with PHPExcel and use the save file as PDF. PHPExcel is quite simple to use and I think it's the easiest way to create tabular datas in PDF. Download it and have a look at the examples they're quite intuitives.
 
 
         
         
2
 
vote

只是在黑暗中拍摄,但 slickgrid 模块可能会有所帮助情况。以下是从模块的项目页面上摘录它:

...是Michael Leibman的 jquery slickgrid 插件,一个闪电快速javascript网格/电子表格。

它定义了一个SlickGrid视图样式,因此所有数据都可以作为可编辑网格输出。

 

Just a shot in the dark, but the Slickgrid module may be of help in this situation. Here is an excerpt about it from the module's project page:

... is an implementation of Michael Leibman's jquery slickgrid plugin, a lightening fast JavaScript grid/spreadsheet.

It defines a slickgrid view style, so all data can be output as an editable grid.

 
 
 
 
1
 
vote

肯定看起来有一些PDF模块可用...如果只是在开发中。

作为替代品,只是fyi,我们已经完成了类似的显示&amp; PDF在CMS中的格式化数据(不是Drupal ...尚未)的PDF导出,我们已经分开了问题,将高卷PDF生成移动到Tomcat托管的文档处理应用程序。

我们查询&amp;从CMS内部格式化在线显示的数据,利用查询构建和显示工具(如CCK?),然后以任何可用的,定义的XML格式导出数据。接下来,将数据的外部XSLT转换为XSL-FO格式,最后使用Apache FOP(http://xmlgraphics.apache.org/fop/#intro)在Tomcat servlet容器上进行转换/生成pdf(如果您已经在Tomcat上运行solr,它是方便的......)。

我们已经为灵活的在线医疗记录演示转换为严格格式化的PDF进行打印和电子交付。 XML的细粒度控制 - &gt; XSL-FO转换,使用Xalan,Xerces等。导致"专业质量" 输出,并卸载到较重的铁确保我们从未丢弃过CMS。

所有取决于您的特定需求。

 

Certainly looks like some PDF modules are available ... if only in-development.

As an alternative, just fyi, we've done similar display & PDF export of formatted data within a CMS (not Drupal ... yet), where we've split the problem, moving high volume PDF generation to a Tomcat-hosted document processing app.

We query & format data for online display from within the CMS, taking advantage of query-building and display tools (like CCK?) then export data in any available, well-defined XML format. Next, external XSLT transform of the data to XSL-FO format, and finally conversion/generation of PDF using Apache FOP (http://xmlgraphics.apache.org/fop/#intro) running on a Tomcat servlet container (If you already have Solr running on Tomcat, it's convenient ...).

We've done this for transformation of flexible online medical record presentation to strictly-formatted PDF for print and electronic delivery. The fine-grained control of the XML -> XSL-FO transformation, using Xalan, Xerces, etc. results in 'professional quality' output, and offloading to heavier-iron ensures we've never bogged down the CMS.

All depends on what your particular needs are.

 
 
         
         

相关问题

0  使用PRINT PDF生成PDF并发送电子邮件  ( Generate pdf with print pdf and send in email ) 
当用户寄存器时,他必须选择一些选项,该选项将定义为之后创建的发票。 我有一个规则,将在保存用户帐户时执行。这就是我所做的: 规则1:创建发票(发票=内容类型)并保存发票 规则2:填写发票 用户在用户注册帐户时生成发票。当我去这样的发票时: http://domain.com/node/147294 我看...

1  HTML标签未通过打印模块和HTML邮件[关闭]  ( Html tags not filtered with print module and html mail ) 
关闭。这个问题需要详细信息或清晰度。它目前不接受答案。 想要改进这个问题?添加详细信息并通过编辑此帖的问题。 关闭 4年前。 ...

0  使用DSM输入对象  ( Enter object with dsm ) 
我正在实际地尝试在我的镶板节点中读取字段值。 我想收到红色标记字段中的数据,因为你可以在我的屏幕截图中看到。 我试图关注: <?php print_r($display->context['panelizer']['data']['field_centerpage_layout'][0]['value'])...

2  打印模块的默认设置很烦人  ( Print modules default setting is annoying ) 
我们经常使用打印模块创建节点的PDF;大多数时候,它都在盒子外。 然而,为了我们的要求,让我非常生气的一件事是其默认设置。 安装打印模块时,即使仅适用于一些内容类型,也可以启用"打印友好页" 选项。每次我必须通过编辑单个内容类型编辑选项卡格式手动禁用它。 是否有全局选项,我可以用来禁用所有内容类型的选项,并为我真...

0  为页面视图创建打印TPL  ( Create a print tpl for page views ) 
我使用print,我会为特定视图创建一个tpl(用于"页面" 显示)。 是可以使用命名的条目吗? ...

0  print.module错误 - 警告:file_put_contents  ( Print module error warning file put contents ) 
我正在使用print.module和dompdf来转换pdf文件。我在页面上收到以下警告。我怎么解决这个问题? 警告: file_put_contents(/home/mysite/public_html/sites/all/modules/print/lib/dompdf/lib/fonts/php_time...

1  在打印页面[关闭]后,链接后删除添加的URL  ( Remove added urls after link when printing a page ) 
关闭。这个问题需要详细信息或清晰度。它目前不接受答案。 想要改进这个问题?添加详细信息并阐明编辑此帖的问题。 关闭 4年前。 ...

6  将基于表的表单复制为PDF视图输出?  ( Replicating an existing table based form as pdf views output ) 
Drupal 6项目我正在努力涉及具有一堆不同元素的自定义内容类型。我需要复制现有形式 - 请参阅屏幕截图。 最终,我需要将存储在附加到此内容类型的CCK字段中的数据,并根据屏幕截图重建它们作为表。然后需要可节省为pdf。 似乎有两种方法可以做我想要的自然的pdf内容: PDF - Cumberso...

0  旁路自定义模块中的权限  ( Bypass permissions in custom module ) 
我已经写了一个自定义模块,当提交WebForm并将其邮寄给管理员时,会生成PDF。我正在使用打印模块来生成pdf。问题是,在生成PDF时似乎使用用户的权限,而不是管理员。这通常可以用于经过身份验证的用户,但对于访客来说,它只是完全失败。 我已启用"访问PDF版本" 和"访问自己的WebForm提交" 的所有用户(匿名...

0  节点页面上的“PDF版本”的链接不会出现在Chrome中  ( The link of pdf version on node page does not appear in chrome ) 
我已在Drupal 7站点上安装了打印模块。我配置了打印模块PDF设置。 现在,链接"PDF版本" 在底部的内容区域上显示每个节点。当我点击链接时,它将节点以PDF格式保存。 但这只能在Firefox中使用。在Chrome中,"PDF版" 链接在未显示。 问题是什么? ...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有