我创建了基于drupal 7的网站,其中包含生成pdf的模块 - 我使用的是fpdf库。 我不知道如何制作表格将一些数据发送到节点,其中我有生成pdf的PHP代码。 此外,我仍然收到错误消息:
FPDF error: Some data has already been output, can't send PDF file (output started at Z:\xampp\htdocs\domain\includes\common.inc:2748)
我找到了:
ob_flush();
当我尝试将其更改为
时ob_clean()
所有节点都生成pdf:/
答案 0 :(得分:0)
您可以尝试使用其他简单的模块 - pdf_using_mpdf 使用此模块,您可以获取调用www.YOUR_SITE.DOMAIN / node / NID_ID / pdf的某个节点的PDF - 其中NID_ID是您要呈现为PDF的节点的ID。
或者你也可以使用hook_menu()如果你需要只渲染节点的某些字段作为PDF - 添加你的项目
$items['%node/create_pdf'] = array(
'title' => '',
'description' => '',
'page callback' => 'custom_callback_create_pdf',
'page arguments' => array(1),
'access callback' => 'node_access',
'type' => MENU_CALLBACK,
);
将回调定义为
function custom_callback_create_pdf($node) {
// Check if current node has needed field.
if (isset($node->field_my_custom_field_of_node)) {
// Render only field 'field_my_custom_field_of_node';
$view = node_view($node);
$output = render($view['field_my_custom_field_of_node']);
return pdf_using_mpdf_api($output, $node->title);
}
else {
return pdf_using_mpdf_api("<html><body>Current page do not required field.</body></html>", $node->title);
}
}
和打印按钮下载:
$pdf_button = l(t('Download as PDF'), 'node/' . $node->nid . '/create_pdf', array(
'attributes' => array(
'target' => '_blank',
'class' => array('render_as_pdf'),
),
));
echo '<p>' . $pdf_button . '</p>';