我有两个问题:
在this old manual我找到了一些有用的toc选项,例如$arrayMultiIndex = [
[
'className' => [
'attribute' => [
'name' => 'Aabir Hussain',
'phone' => 955585,
'email' => 'aabir@gmail.com',
'create_on' => '12-10-2016 12:12:12',
'status' => 'Active'
],
'validationMessage' => [
'name' => 'no_error',
'phone' => 'no_error',
'email' => 'Email Already Taken, Please Choose Another One',
'create_on' => 'no_error',
'status' => 'no_error'
],
'scenario' => 'create',
]
]
];
$arrayMultiIndexObject = arrayToObjectNew($arrayMultiIndex);
function arrayToObject($d) {
if (is_array($d)) {
/*
* Return array converted to object
* Using FUNCTION (Magic constant)
* for recursive call
*/
return (object) array_map(__FUNCTION__, $d);
}
else {
// Return object
return $d;
}
}
function arrayToObjectNew($array) {
if (!is_array($array)) {
return $array;
}
if (is_array($array) && count($array) > 0) {
foreach ($array as $name=>$value) {
$object = new stdClass();
if(is_numeric($name))
$name = (string) $name;
$name = strtolower(trim($name));
// if (!empty($name)) {
$object->$name = arrayToObject($value);
// }
}
return $object;
}
else {
return FALSE;
}
}
echo '<pre>'; print_r($arrayMultiIndexObject->{0}); die;
或--toc-depth
。它似乎在最新的wkhtmltopdf版本中不可用 - 所以我现在如何设置toc-depth和toc-font-size?
我希望我的每个子章节(toc-level 2)都在新页面上开始:
答案 0 :(得分:5)
在当前版本中,您可以使用XSLT文件来自定义生成的ToC的任何样式。以下是文档中的相关引用:
内容表是通过XSLT生成的,这意味着它可以 无论你希望它看起来如何设计。要获得如何做到这一点的助手 您可以通过提供
--dump-default-toc-xsl
转储默认的xslt文档,并提供--dump-outline
提供的大纲。可以使用
--xsl-style-sheet
开关指定XSLT文档。对于 例如:wkhtmltopdf toc --xsl-style-sheet my.xsl http://qt-project.org/doc/qt-4.8/qstring.html qstring.pdf
--dump-default-toc-xsl
开关可用于转储默认的XSLT样式 表格到标准输出。这是编写自己的样式表的良好开端
我做了什么来隐藏ToC的特定级别。我编辑了XSLT文件,将CSS类添加到<li>
(默认XSLT中的第40行)和<ul>
(第55行)元素。在该班级名称I counted the ancestor nodes中获得&#34;级别&#34;物品的深度。
<li class="level-{count(ancestor::*) - 1}">
<ul class="level-{count(ancestor::*) - 1}">
然后我添加了一些在<style>
内添加<head>
的CSS规则:
.level-2, .level-3, .level-4 {
display: none;
}
您可以在之前的HTML 中放置<div style="page-break-after: always"></div>
子页面,以强制它们出现在新页面上。