Я прочитал документацию.
Я попробовал пример кода.
Salah
/* Page Margins */
@page {
size: A4;
font-size: 18px;
}
/* Verso (left) page-specific */
@page :left {
margin-left: 0.79in;
margin-right: 0.59in;
@bottom-left {
/* content: "Page " counter(page) " of " counter(pages); */
content: counter(page);
text-align: left;
margin-left: .1in; /* abs(margin-left - margin-right) / 2 */
}
}
/* Recto (right) page-specific */
@page :right {
margin-left: 0.59in;
margin-right: 0.79in;
@bottom-right {
/* content: "Page " counter(page) " of " counter(pages); */
content: counter(page);
text-align: right;
margin-right: .1in; /* abs(margin-left - margin-right) / 2 */
}
}
.sect1 {
page-break-after: always;
}
/* Use it using [.pagebreak] */
.pagebreak {
page-break-before: always;
}
@page clean {
@bottom-right {
content: none;
}
@bottom-left {
content: none;
}
}
/* Use it using pass:pass:[] */
.counter-reset {
counter-reset: page 1;
/* counter-increment: page 1; */
}
/* Use it using pass:[] */
.blank-page {
page-break-before: always;
page: clean;
display: none;
}
/* Add this to your counter-reset class */
.counter-reset {
counter-reset: page 1;
}
Salah
What to say after the Takbir
Invocation in Bowing and Prostrations
This is the third
function createToc(config) {
const content = config.content;
const tocElement = config.tocElement;
const titleElements = config.titleElements;
let tocElementDiv = content.querySelector(tocElement);
let tocUl = document.createElement("ul");
tocUl.id = "list-toc-generated";
tocElementDiv.appendChild(tocUl);
// add class to all title elements
let tocElementNbr = 0;
for (var i = 0; i < titleElements.length; i++) {
let titleHierarchy = i + 1;
let titleElement = content.querySelectorAll(titleElements);
titleElement.forEach(function (element) {
// add classes to the element
element.classList.add("title-element");
element.setAttribute("data-title-level", titleHierarchy);
// add id if doesn't exist
tocElementNbr++;
idElement = element.id;
if (idElement == "") {
element.id = "title-element-" + tocElementNbr;
}
let newIdElement = element.id;
});
}
// create toc list
let tocElements = content.querySelectorAll(".title-element");
for (var i = 0; i < tocElements.length; i++) {
let tocElement = tocElements;
let tocNewLi = document.createElement("li");
// Add class for the hierarcy of toc
tocNewLi.classList.add("toc-element");
tocNewLi.classList.add(
"toc-element-level-" + tocElement.dataset.titleLevel
);
// Keep class of title elements
let classTocElement = tocElement.classList;
for (var n = 0; n < classTocElement.length; n++) {
if (classTocElement[n] != "title-element") {
tocNewLi.classList.add(classTocElement[n]);
}
}
// Create the element
tocNewLi.innerHTML =
'' + tocElement.innerHTML + "";
tocUl.appendChild(tocNewLi);
}
}
class handlers extends Paged.Handler {
constructor(chunker, polisher, caller) {
super(chunker, polisher, caller);
}
beforeParsed(content) {
createToc({
content: content,
tocElement: "#my-toc-content",
titleElements: ["h2", "h3"],
});
}
}
Paged.registerHandlers(handlers);
< /code>
Это дает мне номера страниц, но не дает мне таблицу контента с номерами страниц для H2 и H3. Как я могу создать таблицу контента.
Подробнее здесь: https://stackoverflow.com/questions/795 ... -from-html
Создайте PDF с таблицей таблицы от HTML ⇐ CSS
Разбираемся в CSS
1743510404
Anonymous
Я прочитал документацию.
Я попробовал пример кода.
Salah
/* Page Margins */
@page {
size: A4;
font-size: 18px;
}
/* Verso (left) page-specific */
@page :left {
margin-left: 0.79in;
margin-right: 0.59in;
@bottom-left {
/* content: "Page " counter(page) " of " counter(pages); */
content: counter(page);
text-align: left;
margin-left: .1in; /* abs(margin-left - margin-right) / 2 */
}
}
/* Recto (right) page-specific */
@page :right {
margin-left: 0.59in;
margin-right: 0.79in;
@bottom-right {
/* content: "Page " counter(page) " of " counter(pages); */
content: counter(page);
text-align: right;
margin-right: .1in; /* abs(margin-left - margin-right) / 2 */
}
}
.sect1 {
page-break-after: always;
}
/* Use it using [.pagebreak] */
.pagebreak {
page-break-before: always;
}
@page clean {
@bottom-right {
content: none;
}
@bottom-left {
content: none;
}
}
/* Use it using pass:pass:[] */
.counter-reset {
counter-reset: page 1;
/* counter-increment: page 1; */
}
/* Use it using pass:[] */
.blank-page {
page-break-before: always;
page: clean;
display: none;
}
/* Add this to your counter-reset class */
.counter-reset {
counter-reset: page 1;
}
Salah
What to say after the Takbir
Invocation in Bowing and Prostrations
This is the third
function createToc(config) {
const content = config.content;
const tocElement = config.tocElement;
const titleElements = config.titleElements;
let tocElementDiv = content.querySelector(tocElement);
let tocUl = document.createElement("ul");
tocUl.id = "list-toc-generated";
tocElementDiv.appendChild(tocUl);
// add class to all title elements
let tocElementNbr = 0;
for (var i = 0; i < titleElements.length; i++) {
let titleHierarchy = i + 1;
let titleElement = content.querySelectorAll(titleElements[i]);
titleElement.forEach(function (element) {
// add classes to the element
element.classList.add("title-element");
element.setAttribute("data-title-level", titleHierarchy);
// add id if doesn't exist
tocElementNbr++;
idElement = element.id;
if (idElement == "") {
element.id = "title-element-" + tocElementNbr;
}
let newIdElement = element.id;
});
}
// create toc list
let tocElements = content.querySelectorAll(".title-element");
for (var i = 0; i < tocElements.length; i++) {
let tocElement = tocElements[i];
let tocNewLi = document.createElement("li");
// Add class for the hierarcy of toc
tocNewLi.classList.add("toc-element");
tocNewLi.classList.add(
"toc-element-level-" + tocElement.dataset.titleLevel
);
// Keep class of title elements
let classTocElement = tocElement.classList;
for (var n = 0; n < classTocElement.length; n++) {
if (classTocElement[n] != "title-element") {
tocNewLi.classList.add(classTocElement[n]);
}
}
// Create the element
tocNewLi.innerHTML =
'[url=#]' + tocElement.innerHTML + "[/url]";
tocUl.appendChild(tocNewLi);
}
}
class handlers extends Paged.Handler {
constructor(chunker, polisher, caller) {
super(chunker, polisher, caller);
}
beforeParsed(content) {
createToc({
content: content,
tocElement: "#my-toc-content",
titleElements: ["h2", "h3"],
});
}
}
Paged.registerHandlers(handlers);
< /code>
Это дает мне номера страниц, но не дает мне таблицу контента с номерами страниц для H2 и H3. Как я могу создать таблицу контента.
Подробнее здесь: [url]https://stackoverflow.com/questions/79536126/generate-a-pdf-with-table-of-contents-from-html[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия