通过HTML转换使用Pisa生成目录表

0 投票
2 回答
1713 浏览
提问于 2025-04-16 03:57

有没有人知道怎么用这个标签,让目录出现在第一页,后面的文字在它之后?我现在的做法是,目录生成在我的文字后面...

pdf.html

<htmL>
<body>
<div>
   <pdf:toc />
</div>
<pdf:nextpage>
<br/>
<h1> test </h1>
    <h2> second </h2>
    some text
<h1> test_two </h1>
    <h2> second </h2>
    some text
</body>
</html>

我好像怎么都调整不好位置,即使用了这个标签,还是不行... 有没有什么帮助或者文档可以参考?PISA的文档其实细节很糟糕...

顺便问一下,还有一个额外的问题,能不能让这个目录跳到正确的页面?如果可以的话,这个是怎么实现的?

谢谢,

2 个回答

1

关于链接的部分,可能有办法自动生成它们,但我发现手动创建一个包含链接和锚点的目录更简单:

<h1>Table of Contents</h1>
<ul>
    <li><a href="section1">The name of section 1</li>
    <li><a href="section2">The name of section 2</li>
</ul>

<h2>The name of section 1</h2>
    <a name="section1"></a>

<h2>The name of section 2</h2>
    <a name="section2"></a>

虽然这样会有一些重复的内容,但我觉得维护起来并不难,尤其是对我的文档来说。具体还得看你希望自己的文档有多长或多复杂。

一个比较大的缺点是,这种方法不会包含页码。

Steve提到的关于分页属性的说法是对的。我个人使用了一个单独的CSS文件,里面有

h2 {
    page-break-before:always;
}

这样我的每个部分都能在新的一页开始。

2

我发现我无法让那个分页功能正常工作,所以我用了内联CSS,特别是使用了page-break这个属性来解决这个问题。

在你的情况下,这应该能解决问题:

<div style="page-break-after:always;>
   <pdf:toc />
</div>
<h1> test </h1> ...etc...

撰写回答