diff --git a/src/app/(space)/(core)/~gitbook/pdf/PageControlButtons.tsx b/src/app/(space)/(core)/~gitbook/pdf/PageControlButtons.tsx
index 9511bd369..871687736 100644
--- a/src/app/(space)/(core)/~gitbook/pdf/PageControlButtons.tsx
+++ b/src/app/(space)/(core)/~gitbook/pdf/PageControlButtons.tsx
@@ -9,6 +9,8 @@ import { t, useLanguage } from '@/intl/client';
import { tcls } from '@/lib/tailwind';
import { getPDFUrl } from '@/lib/urls';
+const limitExtend = 50;
+
/**
* Dynamic controls to show active page and to let the user select between modes.
*/
@@ -17,12 +19,14 @@ export function PageControlButtons(props: {
singlePageMode: boolean;
/** Array of the [pageId, divId] */
pageIds: Array<[string, string]>;
+ /** Current limit */
+ limit: number;
/** Total number of pages targetted by the generation */
total: number;
/** Trademark to display */
trademark?: React.ReactNode;
}) {
- const { pdfHref, singlePageMode, pageIds, total, trademark } = props;
+ const { pdfHref, singlePageMode, pageIds, limit, total, trademark } = props;
const language = useLanguage();
@@ -102,7 +106,21 @@ export function PageControlButtons(props: {
)}
>
{' '}
- {t(language, 'pdf_limit_reached', total, pageIds.length)}
+
{
@@ -138,6 +133,7 @@ export default async function PDFHTMLOutput(props: { searchParams: { [key: strin
pdfHref={currentPDFUrl}
singlePageMode={!!pdfParams.only}
total={total}
+ limit={pdfParams.limit ?? DEFAULT_LIMIT}
trademark={
customization.trademark.enabled ? (
@@ -146,7 +142,7 @@ export default async function PDFHTMLOutput(props: { searchParams: { [key: strin
/>
{pdfParams.only ? null :
}
- {pages.map(({ page, depth }) =>
+ {pages.map(({ page }) =>
page.type === 'group' ? (
) : (
@@ -309,7 +305,7 @@ function selectPages(
const limitTo = (entries: FlatPageEntry[]) => {
return {
// Apply a soft-limit, the limit can be controlled by the URL to allow testing
- pages: entries.slice(0, params.limit ?? 100),
+ pages: entries.slice(0, params.limit ?? DEFAULT_LIMIT),
total: entries.length,
};
};
diff --git a/src/intl/translations/en.ts b/src/intl/translations/en.ts
index 927544a54..d8adb059f 100644
--- a/src/intl/translations/en.ts
+++ b/src/intl/translations/en.ts
@@ -48,4 +48,5 @@ export const en = {
pdf_mode_only_page: 'Only this page',
pdf_mode_all: 'All pages',
pdf_limit_reached: "Couldn't generate the PDF for ${1} pages, generation stopped at ${2}.",
+ pdf_limit_reached_continue: 'Extend with ${1} more pages.',
};
diff --git a/src/intl/translations/es.ts b/src/intl/translations/es.ts
index b9aca307e..b54ef1189 100644
--- a/src/intl/translations/es.ts
+++ b/src/intl/translations/es.ts
@@ -52,4 +52,5 @@ export const es: TranslationLanguage = {
pdf_mode_all: 'Todas las páginas',
pdf_limit_reached:
'No se pudo generar el PDF para ${1} páginas, la generación se detuvo en ${2}.',
+ pdf_limit_reached_continue: 'Extender con ${1} páginas más.',
};
diff --git a/src/intl/translations/fr.ts b/src/intl/translations/fr.ts
index d20691309..a089c5794 100644
--- a/src/intl/translations/fr.ts
+++ b/src/intl/translations/fr.ts
@@ -50,4 +50,5 @@ export const fr: TranslationLanguage = {
pdf_mode_only_page: 'Seulement cette page',
pdf_mode_all: 'Toutes les pages',
pdf_limit_reached: 'Impossible de générer le PDF pour ${1} pages, génération arrêtée à ${2}.',
+ pdf_limit_reached_continue: 'Étendre avec ${1} pages supplémentaires.',
};
diff --git a/src/intl/translations/ja.ts b/src/intl/translations/ja.ts
index bd49859b4..f2b652e42 100644
--- a/src/intl/translations/ja.ts
+++ b/src/intl/translations/ja.ts
@@ -51,4 +51,5 @@ export const ja: TranslationLanguage = {
pdf_mode_only_page: 'このページのみ',
pdf_mode_all: '全てのページ',
pdf_limit_reached: '${1}ページのPDFを生成できませんでした、${2}で生成が停止しました。',
+ pdf_limit_reached_continue: 'さらに${1}ページで拡張',
};
diff --git a/src/intl/translations/zh.ts b/src/intl/translations/zh.ts
index 6631364d8..d253d8453 100644
--- a/src/intl/translations/zh.ts
+++ b/src/intl/translations/zh.ts
@@ -49,4 +49,5 @@ export const zh: TranslationLanguage = {
pdf_mode_only_page: '仅本页',
pdf_mode_all: '所有页面',
pdf_limit_reached: '无法为${1}页生成 PDF,生成在${2}页时停止。',
+ pdf_limit_reached_continue: '使用${1}页进行扩展。',
};