Add documentation for all PDF tools

This commit is contained in:
alam00000
2026-03-20 21:48:48 +05:30
parent 1d986aedb1
commit b4a2c98497
125 changed files with 13507 additions and 5422 deletions

View File

@@ -1,79 +1,74 @@
import {
useMediaQuery
} from "./chunk-2CLQ7TTZ.js";
import {
computed,
ref,
shallowRef,
watch
} from "./chunk-LE5NDSFD.js";
import { useMediaQuery } from './chunk-BRNHR3LR.js';
import { computed, ref, shallowRef, watch } from './chunk-H6MPEGKE.js';
// node_modules/vitepress/dist/client/theme-default/index.js
import "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/fonts.css";
import '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/fonts.css';
// node_modules/vitepress/dist/client/theme-default/without-fonts.js
import "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/vars.css";
import "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/base.css";
import "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/icons.css";
import "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/utils.css";
import "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/components/custom-block.css";
import "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code.css";
import "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code-group.css";
import "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/components/vp-doc.css";
import "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/components/vp-sponsor.css";
import VPBadge from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
import Layout from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/Layout.vue";
import { default as default2 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue";
import { default as default3 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPButton.vue";
import { default as default4 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPDocAsideSponsors.vue";
import { default as default5 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPFeatures.vue";
import { default as default6 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPHomeContent.vue";
import { default as default7 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPHomeFeatures.vue";
import { default as default8 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPHomeHero.vue";
import { default as default9 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPHomeSponsors.vue";
import { default as default10 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPImage.vue";
import { default as default11 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPLink.vue";
import { default as default12 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPNavBarSearch.vue";
import { default as default13 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPSocialLink.vue";
import { default as default14 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPSocialLinks.vue";
import { default as default15 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPSponsors.vue";
import { default as default16 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPTeamMembers.vue";
import { default as default17 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPTeamPage.vue";
import { default as default18 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageSection.vue";
import { default as default19 } from "/Users/abdullahtapadar/Desktop/workspaceforbento/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageTitle.vue";
import '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/vars.css';
import '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/base.css';
import '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/icons.css';
import '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/utils.css';
import '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/components/custom-block.css';
import '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code.css';
import '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/components/vp-code-group.css';
import '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/components/vp-doc.css';
import '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/styles/components/vp-sponsor.css';
import VPBadge from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue';
import Layout from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/Layout.vue';
import { default as default2 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPBadge.vue';
import { default as default3 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPButton.vue';
import { default as default4 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPDocAsideSponsors.vue';
import { default as default5 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPFeatures.vue';
import { default as default6 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPHomeContent.vue';
import { default as default7 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPHomeFeatures.vue';
import { default as default8 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPHomeHero.vue';
import { default as default9 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPHomeSponsors.vue';
import { default as default10 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPImage.vue';
import { default as default11 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPLink.vue';
import { default as default12 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPNavBarSearch.vue';
import { default as default13 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPSocialLink.vue';
import { default as default14 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPSocialLinks.vue';
import { default as default15 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPSponsors.vue';
import { default as default16 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPTeamMembers.vue';
import { default as default17 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPTeamPage.vue';
import { default as default18 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageSection.vue';
import { default as default19 } from '/Users/abdullahtapadar/Desktop/bento-pdf/node_modules/vitepress/dist/client/theme-default/components/VPTeamPageTitle.vue';
// node_modules/vitepress/dist/client/theme-default/composables/local-nav.js
import { onContentUpdated } from "vitepress";
import { onContentUpdated } from 'vitepress';
// node_modules/vitepress/dist/client/theme-default/composables/outline.js
import { getScrollOffset } from "vitepress";
import { getScrollOffset } from 'vitepress';
// node_modules/vitepress/dist/client/theme-default/support/utils.js
import { withBase } from "vitepress";
import { withBase } from 'vitepress';
// node_modules/vitepress/dist/client/theme-default/composables/data.js
import { useData as useData$ } from "vitepress";
import { useData as useData$ } from 'vitepress';
var useData = useData$;
// node_modules/vitepress/dist/client/theme-default/support/utils.js
function ensureStartingSlash(path) {
return path.startsWith("/") ? path : `/${path}`;
return path.startsWith('/') ? path : `/${path}`;
}
// node_modules/vitepress/dist/client/theme-default/support/sidebar.js
function getSidebar(_sidebar, path) {
if (Array.isArray(_sidebar))
return addBase(_sidebar);
if (_sidebar == null)
return [];
if (Array.isArray(_sidebar)) return addBase(_sidebar);
if (_sidebar == null) return [];
path = ensureStartingSlash(path);
const dir = Object.keys(_sidebar).sort((a, b) => {
return b.split("/").length - a.split("/").length;
}).find((dir2) => {
return path.startsWith(ensureStartingSlash(dir2));
});
const dir = Object.keys(_sidebar)
.sort((a, b) => {
return b.split('/').length - a.split('/').length;
})
.find((dir2) => {
return path.startsWith(ensureStartingSlash(dir2));
});
const sidebar = dir ? _sidebar[dir] : [];
return Array.isArray(sidebar) ? addBase(sidebar) : addBase(sidebar.items, sidebar.base);
return Array.isArray(sidebar)
? addBase(sidebar)
: addBase(sidebar.items, sidebar.base);
}
function getSidebarGroups(sidebar) {
const groups = [];
@@ -95,10 +90,8 @@ function addBase(items, _base) {
return [...items].map((_item) => {
const item = { ..._item };
const base = item.base || _base;
if (base && item.link)
item.link = base + item.link;
if (item.items)
item.items = addBase(item.items, base);
if (base && item.link) item.link = base + item.link;
if (item.items) item.items = addBase(item.items, base);
return item;
});
}
@@ -106,7 +99,7 @@ function addBase(items, _base) {
// node_modules/vitepress/dist/client/theme-default/composables/sidebar.js
function useSidebar() {
const { frontmatter, page, theme: theme2 } = useData();
const is960 = useMediaQuery("(min-width: 960px)");
const is960 = useMediaQuery('(min-width: 960px)');
const isOpen = ref(false);
const _sidebar = computed(() => {
const sidebarConfig = theme2.value.sidebar;
@@ -119,18 +112,22 @@ function useSidebar() {
sidebar.value = _sidebar.value;
});
const hasSidebar = computed(() => {
return frontmatter.value.sidebar !== false && sidebar.value.length > 0 && frontmatter.value.layout !== "home";
return (
frontmatter.value.sidebar !== false &&
sidebar.value.length > 0 &&
frontmatter.value.layout !== 'home'
);
});
const leftAside = computed(() => {
if (hasAside)
return frontmatter.value.aside == null ? theme2.value.aside === "left" : frontmatter.value.aside === "left";
return frontmatter.value.aside == null
? theme2.value.aside === 'left'
: frontmatter.value.aside === 'left';
return false;
});
const hasAside = computed(() => {
if (frontmatter.value.layout === "home")
return false;
if (frontmatter.value.aside != null)
return !!frontmatter.value.aside;
if (frontmatter.value.layout === 'home') return false;
if (frontmatter.value.aside != null) return !!frontmatter.value.aside;
return theme2.value.aside !== false;
});
const isSidebarEnabled = computed(() => hasSidebar.value && is960.value);
@@ -156,7 +153,7 @@ function useSidebar() {
isSidebarEnabled,
open,
close,
toggle
toggle,
};
}
@@ -165,24 +162,25 @@ var ignoreRE = /\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/;
var resolvedHeaders = [];
function getHeaders(range) {
const headers = [
...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")
].filter((el) => el.id && el.hasChildNodes()).map((el) => {
const level = Number(el.tagName[1]);
return {
element: el,
title: serializeHeader(el),
link: "#" + el.id,
level
};
});
...document.querySelectorAll('.VPDoc :where(h1,h2,h3,h4,h5,h6)'),
]
.filter((el) => el.id && el.hasChildNodes())
.map((el) => {
const level = Number(el.tagName[1]);
return {
element: el,
title: serializeHeader(el),
link: '#' + el.id,
level,
};
});
return resolveHeaders(headers, range);
}
function serializeHeader(h) {
let ret = "";
let ret = '';
for (const node of h.childNodes) {
if (node.nodeType === 1) {
if (ignoreRE.test(node.className))
continue;
if (ignoreRE.test(node.className)) continue;
ret += node.textContent;
} else if (node.nodeType === 3) {
ret += node.textContent;
@@ -194,8 +192,16 @@ function resolveHeaders(headers, range) {
if (range === false) {
return [];
}
const levelsRange = (typeof range === "object" && !Array.isArray(range) ? range.level : range) || 2;
const [high, low] = typeof levelsRange === "number" ? [levelsRange, levelsRange] : levelsRange === "deep" ? [2, 6] : levelsRange;
const levelsRange =
(typeof range === 'object' && !Array.isArray(range)
? range.level
: range) || 2;
const [high, low] =
typeof levelsRange === 'number'
? [levelsRange, levelsRange]
: levelsRange === 'deep'
? [2, 6]
: levelsRange;
return buildTree(headers, high, low);
}
function buildTree(data, min, max) {
@@ -209,17 +215,17 @@ function buildTree(data, min, max) {
stack.pop();
parent = stack[stack.length - 1];
}
if (node.element.classList.contains("ignore-header") || parent && "shouldIgnore" in parent) {
if (
node.element.classList.contains('ignore-header') ||
(parent && 'shouldIgnore' in parent)
) {
stack.push({ level: node.level, shouldIgnore: true });
return;
}
if (node.level > max || node.level < min)
return;
if (node.level > max || node.level < min) return;
resolvedHeaders.push({ element: node.element, link: node.link });
if (parent)
parent.children.push(node);
else
result.push(node);
if (parent) parent.children.push(node);
else result.push(node);
stack.push(node);
});
return result;
@@ -233,11 +239,13 @@ function useLocalNav() {
return headers.value.length > 0;
});
onContentUpdated(() => {
headers.value = getHeaders(frontmatter.value.outline ?? theme2.value.outline);
headers.value = getHeaders(
frontmatter.value.outline ?? theme2.value.outline
);
});
return {
headers,
hasLocalNav
hasLocalNav,
};
}
@@ -245,8 +253,8 @@ function useLocalNav() {
var theme = {
Layout,
enhanceApp: ({ app }) => {
app.component("Badge", VPBadge);
}
app.component('Badge', VPBadge);
},
};
var without_fonts_default = theme;
export {
@@ -270,6 +278,6 @@ export {
default19 as VPTeamPageTitle,
without_fonts_default as default,
useLocalNav,
useSidebar
useSidebar,
};
//# sourceMappingURL=@theme_index.js.map

View File

@@ -1,58 +1,58 @@
{
"hash": "b8473a4c",
"configHash": "de601e5a",
"lockfileHash": "97b635bf",
"browserHash": "6dc79743",
"hash": "cbe76ac1",
"configHash": "fcacb6fc",
"lockfileHash": "25b6b516",
"browserHash": "e3bcae4a",
"optimized": {
"vue": {
"src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
"file": "vue.js",
"fileHash": "82d9bd70",
"fileHash": "d430f9d5",
"needsInterop": false
},
"vitepress > @vue/devtools-api": {
"src": "../../../../node_modules/@vue/devtools-api/dist/index.js",
"file": "vitepress___@vue_devtools-api.js",
"fileHash": "776db5f7",
"fileHash": "cdc3240f",
"needsInterop": false
},
"vitepress > @vueuse/core": {
"src": "../../../../node_modules/@vueuse/core/index.mjs",
"file": "vitepress___@vueuse_core.js",
"fileHash": "5b890910",
"fileHash": "9c54fae4",
"needsInterop": false
},
"vitepress > @vueuse/integrations/useFocusTrap": {
"src": "../../../../node_modules/@vueuse/integrations/useFocusTrap.mjs",
"file": "vitepress___@vueuse_integrations_useFocusTrap.js",
"fileHash": "0798c805",
"fileHash": "dcb2d016",
"needsInterop": false
},
"vitepress > mark.js/src/vanilla.js": {
"src": "../../../../node_modules/mark.js/src/vanilla.js",
"file": "vitepress___mark__js_src_vanilla__js.js",
"fileHash": "ce575f5c",
"fileHash": "89ac005f",
"needsInterop": false
},
"vitepress > minisearch": {
"src": "../../../../node_modules/minisearch/dist/es/index.js",
"file": "vitepress___minisearch.js",
"fileHash": "97a74ec0",
"fileHash": "dcc8fa95",
"needsInterop": false
},
"@theme/index": {
"src": "../../../../node_modules/vitepress/dist/client/theme-default/index.js",
"file": "@theme_index.js",
"fileHash": "725ded83",
"fileHash": "12a406fc",
"needsInterop": false
}
},
"chunks": {
"chunk-2CLQ7TTZ": {
"file": "chunk-2CLQ7TTZ.js"
"chunk-BRNHR3LR": {
"file": "chunk-BRNHR3LR.js"
},
"chunk-LE5NDSFD": {
"file": "chunk-LE5NDSFD.js"
"chunk-H6MPEGKE": {
"file": "chunk-H6MPEGKE.js"
}
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -280,9 +280,9 @@ import {
watchThrottled,
watchTriggerable,
watchWithFilter,
whenever
} from "./chunk-2CLQ7TTZ.js";
import "./chunk-LE5NDSFD.js";
whenever,
} from './chunk-BRNHR3LR.js';
import './chunk-H6MPEGKE.js';
export {
DefaultMagicKeysAliasMap,
StorageSerializers,
@@ -578,6 +578,6 @@ export {
watchThrottled,
watchTriggerable,
watchWithFilter,
whenever
whenever,
};
//# sourceMappingURL=vitepress___@vueuse_core.js.map

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -169,8 +169,8 @@ import {
withKeys,
withMemo,
withModifiers,
withScopeId
} from "./chunk-LE5NDSFD.js";
withScopeId,
} from './chunk-H6MPEGKE.js';
export {
BaseTransition,
BaseTransitionPropsValidators,
@@ -342,6 +342,6 @@ export {
withKeys,
withMemo,
withModifiers,
withScopeId
withScopeId,
};
//# sourceMappingURL=vue.js.map

View File

@@ -1,13 +1,11 @@
import { defineConfig } from 'vitepress'
// https://vitepress.dev/reference/site-config
export default defineConfig({
title: "BentoPDF Docs",
description: "Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit",
base: '/docs/',
themeConfig: {
// https://vitepress.dev/reference/default-theme-config
logo: '/images/favicon-no-bg.svg',
nav: [
@@ -26,6 +24,154 @@ export default defineConfig({
items: [
{ text: 'Overview', link: '/tools/' }
]
},
{
text: 'Edit & Annotate',
collapsed: false,
items: [
{ text: 'PDF Editor', link: '/tools/edit-pdf' },
{ text: 'Edit Bookmarks', link: '/tools/bookmark' },
{ text: 'Table of Contents', link: '/tools/table-of-contents' },
{ text: 'Page Numbers', link: '/tools/page-numbers' },
{ text: 'Add Page Labels', link: '/tools/add-page-labels' },
{ text: 'Bates Numbering', link: '/tools/bates-numbering' },
{ text: 'Add Watermark', link: '/tools/add-watermark' },
{ text: 'Header & Footer', link: '/tools/header-footer' },
{ text: 'Invert Colors', link: '/tools/invert-colors' },
{ text: 'Scanner Effect', link: '/tools/scanner-effect' },
{ text: 'Adjust Colors', link: '/tools/adjust-colors' },
{ text: 'Background Color', link: '/tools/background-color' },
{ text: 'Change Text Color', link: '/tools/text-color' },
{ text: 'Sign PDF', link: '/tools/sign-pdf' },
{ text: 'Add Stamps', link: '/tools/add-stamps' },
{ text: 'Remove Annotations', link: '/tools/remove-annotations' },
{ text: 'Crop PDF', link: '/tools/crop-pdf' },
{ text: 'PDF Form Filler', link: '/tools/form-filler' },
{ text: 'Create PDF Form', link: '/tools/form-creator' },
{ text: 'Remove Blank Pages', link: '/tools/remove-blank-pages' }
]
},
{
text: 'Convert to PDF',
collapsed: true,
items: [
{ text: 'Images to PDF', link: '/tools/image-to-pdf' },
{ text: 'JPG to PDF', link: '/tools/jpg-to-pdf' },
{ text: 'PNG to PDF', link: '/tools/png-to-pdf' },
{ text: 'WebP to PDF', link: '/tools/webp-to-pdf' },
{ text: 'SVG to PDF', link: '/tools/svg-to-pdf' },
{ text: 'BMP to PDF', link: '/tools/bmp-to-pdf' },
{ text: 'HEIC to PDF', link: '/tools/heic-to-pdf' },
{ text: 'TIFF to PDF', link: '/tools/tiff-to-pdf' },
{ text: 'Text to PDF', link: '/tools/txt-to-pdf' },
{ text: 'Markdown to PDF', link: '/tools/markdown-to-pdf' },
{ text: 'JSON to PDF', link: '/tools/json-to-pdf' },
{ text: 'ODT to PDF', link: '/tools/odt-to-pdf' },
{ text: 'CSV to PDF', link: '/tools/csv-to-pdf' },
{ text: 'RTF to PDF', link: '/tools/rtf-to-pdf' },
{ text: 'Word to PDF', link: '/tools/word-to-pdf' },
{ text: 'Excel to PDF', link: '/tools/excel-to-pdf' },
{ text: 'PowerPoint to PDF', link: '/tools/powerpoint-to-pdf' },
{ text: 'XPS to PDF', link: '/tools/xps-to-pdf' },
{ text: 'MOBI to PDF', link: '/tools/mobi-to-pdf' },
{ text: 'EPUB to PDF', link: '/tools/epub-to-pdf' },
{ text: 'FB2 to PDF', link: '/tools/fb2-to-pdf' },
{ text: 'CBZ to PDF', link: '/tools/cbz-to-pdf' },
{ text: 'WPD to PDF', link: '/tools/wpd-to-pdf' },
{ text: 'WPS to PDF', link: '/tools/wps-to-pdf' },
{ text: 'XML to PDF', link: '/tools/xml-to-pdf' },
{ text: 'ODG to PDF', link: '/tools/odg-to-pdf' },
{ text: 'ODS to PDF', link: '/tools/ods-to-pdf' },
{ text: 'ODP to PDF', link: '/tools/odp-to-pdf' },
{ text: 'PUB to PDF', link: '/tools/pub-to-pdf' },
{ text: 'VSD to PDF', link: '/tools/vsd-to-pdf' },
{ text: 'PSD to PDF', link: '/tools/psd-to-pdf' },
{ text: 'Email to PDF', link: '/tools/email-to-pdf' }
]
},
{
text: 'Convert from PDF',
collapsed: true,
items: [
{ text: 'PDF to JPG', link: '/tools/pdf-to-jpg' },
{ text: 'PDF to PNG', link: '/tools/pdf-to-png' },
{ text: 'PDF to WebP', link: '/tools/pdf-to-webp' },
{ text: 'PDF to BMP', link: '/tools/pdf-to-bmp' },
{ text: 'PDF to TIFF', link: '/tools/pdf-to-tiff' },
{ text: 'PDF to SVG', link: '/tools/pdf-to-svg' },
{ text: 'PDF to CSV', link: '/tools/pdf-to-csv' },
{ text: 'PDF to Excel', link: '/tools/pdf-to-excel' },
{ text: 'PDF to Greyscale', link: '/tools/pdf-to-greyscale' },
{ text: 'PDF to JSON', link: '/tools/pdf-to-json' },
{ text: 'PDF to Word', link: '/tools/pdf-to-docx' },
{ text: 'Extract Images', link: '/tools/extract-images' },
{ text: 'PDF to Markdown', link: '/tools/pdf-to-markdown' },
{ text: 'Prepare PDF for AI', link: '/tools/prepare-pdf-for-ai' },
{ text: 'PDF to Text', link: '/tools/pdf-to-text' },
{ text: 'Extract Tables', link: '/tools/extract-tables' }
]
},
{
text: 'Organize & Manage',
collapsed: true,
items: [
{ text: 'PDF Workflow Builder', link: '/tools/pdf-workflow' },
{ text: 'PDF Multi Tool', link: '/tools/pdf-multi-tool' },
{ text: 'OCR PDF', link: '/tools/ocr-pdf' },
{ text: 'Merge PDF', link: '/tools/merge-pdf' },
{ text: 'Alternate & Mix Pages', link: '/tools/alternate-merge' },
{ text: 'Organize & Duplicate', link: '/tools/organize-pdf' },
{ text: 'Add Attachments', link: '/tools/add-attachments' },
{ text: 'Extract Attachments', link: '/tools/extract-attachments' },
{ text: 'Edit Attachments', link: '/tools/edit-attachments' },
{ text: 'PDF OCG', link: '/tools/pdf-layers' },
{ text: 'Split PDF', link: '/tools/split-pdf' },
{ text: 'Divide Pages', link: '/tools/divide-pages' },
{ text: 'Extract Pages', link: '/tools/extract-pages' },
{ text: 'Delete Pages', link: '/tools/delete-pages' },
{ text: 'Add Blank Page', link: '/tools/add-blank-page' },
{ text: 'Reverse Pages', link: '/tools/reverse-pages' },
{ text: 'Rotate PDF', link: '/tools/rotate-pdf' },
{ text: 'Rotate by Custom Degrees', link: '/tools/rotate-custom' },
{ text: 'N-Up PDF', link: '/tools/n-up-pdf' },
{ text: 'PDF Booklet', link: '/tools/pdf-booklet' },
{ text: 'Combine to Single Page', link: '/tools/combine-single-page' },
{ text: 'View Metadata', link: '/tools/view-metadata' },
{ text: 'Edit Metadata', link: '/tools/edit-metadata' },
{ text: 'PDFs to ZIP', link: '/tools/pdf-to-zip' },
{ text: 'Compare PDFs', link: '/tools/compare-pdfs' },
{ text: 'Posterize PDF', link: '/tools/posterize-pdf' }
]
},
{
text: 'Optimize & Repair',
collapsed: true,
items: [
{ text: 'Compress PDF', link: '/tools/compress-pdf' },
{ text: 'PDF to PDF/A', link: '/tools/pdf-to-pdfa' },
{ text: 'Fix Page Size', link: '/tools/fix-page-size' },
{ text: 'Linearize PDF', link: '/tools/linearize-pdf' },
{ text: 'Page Dimensions', link: '/tools/page-dimensions' },
{ text: 'Remove Restrictions', link: '/tools/remove-restrictions' },
{ text: 'Repair PDF', link: '/tools/repair-pdf' },
{ text: 'Rasterize PDF', link: '/tools/rasterize-pdf' },
{ text: 'Deskew PDF', link: '/tools/deskew-pdf' },
{ text: 'Font to Outline', link: '/tools/font-to-outline' }
]
},
{
text: 'Secure PDF',
collapsed: true,
items: [
{ text: 'Encrypt PDF', link: '/tools/encrypt-pdf' },
{ text: 'Sanitize PDF', link: '/tools/sanitize-pdf' },
{ text: 'Decrypt PDF', link: '/tools/decrypt-pdf' },
{ text: 'Flatten PDF', link: '/tools/flatten-pdf' },
{ text: 'Remove Metadata', link: '/tools/remove-metadata' },
{ text: 'Change Permissions', link: '/tools/change-permissions' },
{ text: 'Digital Signature', link: '/tools/digital-sign-pdf' },
{ text: 'Validate Signature', link: '/tools/validate-signature-pdf' }
]
}
],
'/self-hosting/': [