feat: translate all pages, UI messages and docs and fix SEO redirects and indexing

This commit is contained in:
alam00000
2026-10-25 12:55:21 +05:30
parent 5e019de5ae
commit 4edb1718cc
3344 changed files with 415643 additions and 4759 deletions
+3 -3
View File
@@ -5,9 +5,9 @@ on:
paths:
- '**/*.html'
- 'public/locales/**'
- 'scripts/generate-i18n-pages.mjs'
- 'scripts/generate-sitemap.mjs'
- 'scripts/seo-audit.mjs'
- 'scripts/**'
- 'translations/**'
- 'docs/**'
- 'src/partials/**'
- 'package.json'
- 'package-lock.json'
+1
View File
@@ -28,6 +28,7 @@ env:
SIMPLE_MODE: ${{ vars.SIMPLE_MODE }}
BASE_URL: ${{ vars.BASE_URL }}/
SITE_URL: ${{ vars.SITE_URL }}
ALLOW_INDEXING: ${{ vars.ALLOW_INDEXING }}
HUSKY: 0
jobs:
+4
View File
@@ -5,3 +5,7 @@ blog/posts/
public/pdfjs-viewer/
public/pdfjs-annotation-viewer/
translations/source.json
translations/pages.json
translations/ui-source.json
+4 -2
View File
@@ -65,10 +65,12 @@ ARG DISABLE_TOOLS
ENV DISABLE_TOOLS=$DISABLE_TOOLS
# Public-facing canonical site URL. Defaults to the official site so self-hosters
# consolidate SEO signals back to bentopdf.com. Override with --build-arg
# SITE_URL=https://your-domain.example to claim canonical for your own deployment.
# consolidate SEO signals back to bentopdf.com. A custom SITE_URL marks every page
# noindex unless ALLOW_INDEXING=true is also set.
ARG SITE_URL=https://www.bentopdf.com
ENV SITE_URL=$SITE_URL
ARG ALLOW_INDEXING=false
ENV ALLOW_INDEXING=$ALLOW_INDEXING
ENV NODE_OPTIONS="--max-old-space-size=3072"
+2
View File
@@ -60,6 +60,8 @@ ENV VITE_FOOTER_TEXT=$VITE_FOOTER_TEXT
# Public-facing canonical site URL. See Dockerfile for details.
ARG SITE_URL=https://www.bentopdf.com
ENV SITE_URL=$SITE_URL
ARG ALLOW_INDEXING=false
ENV ALLOW_INDEXING=$ALLOW_INDEXING
ENV NODE_OPTIONS="--max-old-space-size=3072"
+12 -8
View File
@@ -94,16 +94,19 @@ You have two clean overrides depending on what you want.
### Run your own SEO instance (claim canonical for yourself)
If you operate a public deployment and want it to be the indexed copy for
your audience, set `SITE_URL` at build time to your origin. The build will
emit canonicals, hreflang, and structured data pointing at your domain.
your audience, set `SITE_URL` at build time to your origin and also set
`ALLOW_INDEXING=true`. The build will emit canonicals, hreflang and
sitemap URLs pointing at your domain. Without `ALLOW_INDEXING=true`, a
build with a custom `SITE_URL` marks every page `noindex`.
- Docker:
```sh
docker build --build-arg SITE_URL=https://pdf.example.com -t bentopdf-self .
docker build --build-arg SITE_URL=https://pdf.example.com --build-arg ALLOW_INDEXING=true -t bentopdf-self .
```
- Netlify, Vercel, GitHub Pages, or any other static host: set `SITE_URL`
in your project's environment variables and re-deploy. The build script
reads it during `npm run build`.
and `ALLOW_INDEXING=true` in your project's environment variables and
re-deploy. The build script reads them during `npm run build`. For the
GitHub Pages workflow, add both as repository variables.
### Stay invisible to search engines (no SEO competition either way)
@@ -117,9 +120,10 @@ bentopdf.com as the authoritative source.
docker run -d -p 8080:8080 -e ROBOTS_NOINDEX=true ghcr.io/alam00000/bentopdf:latest
```
You can combine the two: build with your own `SITE_URL` and run with
`ROBOTS_NOINDEX=true` for a private deployment that's neither competing
with bentopdf.com nor advertising itself.
A build with your own `SITE_URL` and without `ALLOW_INDEXING=true` is
already `noindex`, so it neither competes with bentopdf.com nor advertises
itself. `ROBOTS_NOINDEX=true` does the same at runtime for the prebuilt
images.
### Note on Simple Mode
+193 -200
View File
@@ -1,222 +1,210 @@
import { defineConfig } from 'vitepress'
import type { DefaultTheme } from 'vitepress'
import fs from 'node:fs'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
import { nav, sidebar } from './navigation.mjs'
import { DESCRIPTION, FOOTER_MESSAGE } from './i18n/theme-labels.mjs'
import { completeDocsLanguages } from '../../scripts/docs-languages.mjs'
const SITE_URL = 'https://www.bentopdf.com'
const docsDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..')
const labelsDir = path.join(docsDir, '.vitepress', 'i18n')
const LANGUAGE_NAMES: Record<string, string> = {
ar: 'العربية',
be: 'Беларуская',
ca: 'Català',
da: 'Dansk',
de: 'Deutsch',
es: 'Español',
fa: 'فارسی',
fr: 'Français',
id: 'Bahasa Indonesia',
it: 'Italiano',
ja: '日本語',
ko: '한국어',
nl: 'Nederlands',
pl: 'Polski',
pt: 'Português',
ru: 'Русский',
sk: 'Slovenčina',
sv: 'Svenska',
tr: 'Türkçe',
uk: 'Українська',
vi: 'Tiếng Việt',
zh: '简体中文',
'zh-TW': '繁體中文'
}
const RTL_LANGUAGES = new Set(['ar', 'fa'])
const ENGLISH_ONLY_DOCS = new Set(['licensing'])
const { enabled, incomplete } = completeDocsLanguages(
docsDir,
Object.keys(LANGUAGE_NAMES),
process.env.DOCS_LANGUAGES
)
for (const { lang, missing, total } of incomplete) {
console.warn(`[docs] Skipping "${lang}": ${missing} of ${total} pages are not translated yet`)
}
const excluded = Object.keys(LANGUAGE_NAMES)
.filter((lang) => !enabled.includes(lang))
.map((lang) => `${lang}/**`)
type Labels = Record<string, string>
function readLabels(lang: string): Labels {
const file = path.join(labelsDir, `${lang}.json`)
return fs.existsSync(file) ? JSON.parse(fs.readFileSync(file, 'utf-8')) : {}
}
function localizedLink(link: string | undefined, lang: string) {
return link && link.startsWith('/') ? `/${lang}${link}` : link
}
type LocalizableItem = {
text?: string
link?: string
items?: LocalizableItem[]
}
function localizeItems<T extends LocalizableItem>(
items: T[],
lang: string,
translate: (text: string) => string
): T[] {
return items.map((item) => ({
...item,
...(item.text ? { text: translate(item.text) } : {}),
...(item.link ? { link: localizedLink(item.link, lang) } : {}),
...(item.items ? { items: localizeItems(item.items, lang, translate) } : {})
}))
}
function localeThemeConfig(lang: string): DefaultTheme.Config {
const labels = readLabels(lang)
const translate = (text: string) => labels[text] || text
return {
nav: localizeItems(nav, lang, translate),
sidebar: Object.fromEntries(
Object.entries(sidebar).map(([base, items]) => [
`/${lang}${base}`,
localizeItems(items as DefaultTheme.SidebarItem[], lang, translate)
])
),
footer: {
message: translate(FOOTER_MESSAGE),
copyright: 'Copyright © 2026 BentoPDF'
},
outline: { label: translate('On this page') },
docFooter: {
prev: translate('Previous page'),
next: translate('Next page')
},
returnToTopLabel: translate('Return to top'),
sidebarMenuLabel: translate('Menu'),
darkModeSwitchLabel: translate('Appearance'),
lightModeSwitchTitle: translate('Switch to light theme'),
darkModeSwitchTitle: translate('Switch to dark theme'),
skipToContentLabel: translate('Skip to content'),
langMenuLabel: translate('Change language')
}
}
function localeSearch(lang: string) {
const labels = readLabels(lang)
const translate = (text: string) => labels[text] || text
return {
translations: {
button: {
buttonText: translate('Search'),
buttonAriaLabel: translate('Search')
},
modal: {
displayDetails: translate('Display detailed list'),
resetButtonTitle: translate('Reset search'),
backButtonTitle: translate('Close search'),
noResultsText: translate('No results for'),
footer: {
selectText: translate('to select'),
navigateText: translate('to navigate'),
closeText: translate('to close')
}
}
}
}
}
const locales = Object.fromEntries(
enabled.map((lang) => {
const labels = readLabels(lang)
return [
lang,
{
label: LANGUAGE_NAMES[lang],
lang,
dir: RTL_LANGUAGES.has(lang) ? 'rtl' : 'ltr',
link: `/${lang}/`,
title: 'BentoPDF Docs',
description: labels[DESCRIPTION] || DESCRIPTION,
themeConfig: localeThemeConfig(lang)
}
]
})
)
function pageUrl(lang: string, pagePath: string) {
const prefix = lang === 'en' ? '' : `/${lang}`
const suffix = pagePath === 'index' ? '' : `/${pagePath.replace(/\/index$/, '')}`
return `${SITE_URL}/docs${prefix}${suffix}`
}
export default defineConfig({
title: "BentoPDF Docs",
description: "Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit",
description: DESCRIPTION,
base: '/docs/',
cleanUrls: true,
metaChunk: true,
srcExclude: excluded,
locales: {
root: { label: 'English', lang: 'en-US' },
...locales
},
transformPageData(pageData) {
const relPath = pageData.relativePath.replace(/\.md$/, '')
const slug = relPath === 'index' ? '' : relPath.replace(/\/index$/, '')
const pageLang = enabled.find((lang) => relPath.startsWith(`${lang}/`))
const pagePath = pageLang ? relPath.slice(pageLang.length + 1) : relPath
const englishOnly = ENGLISH_ONLY_DOCS.has(pagePath)
const canonicalPath = englishOnly ? pagePath : relPath
const slug = canonicalPath === 'index' ? '' : canonicalPath.replace(/\/index$/, '')
const canonicalUrl = slug ? `${SITE_URL}/docs/${slug}` : `${SITE_URL}/docs`
pageData.frontmatter.head ??= []
pageData.frontmatter.head.push(['link', { rel: 'canonical', href: canonicalUrl }])
if (enabled.length === 0 || englishOnly) return
for (const lang of ['en', ...enabled]) {
const source = lang === 'en' ? pagePath : `${lang}/${pagePath}`
if (!fs.existsSync(path.join(docsDir, `${source}.md`))) continue
pageData.frontmatter.head.push([
'link',
{ rel: 'alternate', hreflang: lang, href: pageUrl(lang, pagePath) }
])
}
pageData.frontmatter.head.push([
'link',
{ rel: 'alternate', hreflang: 'x-default', href: pageUrl('en', pagePath) }
])
},
themeConfig: {
logo: '/images/favicon-no-bg.svg',
nav: [
{ text: 'Home', link: '/' },
{ text: 'Getting Started', link: '/getting-started' },
{ text: 'Tools', link: '/tools/' },
{ text: 'Self-Hosting', link: '/self-hosting/' },
{ text: 'Contributing', link: '/contributing' },
{ text: 'Commercial License', link: '/licensing' }
],
nav,
sidebar: {
'/tools/': [
{
text: 'Tools Reference',
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 CBZ', link: '/tools/pdf-to-cbz' },
{ 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-word' },
{ 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: 'Duplex Collate', link: '/tools/duplex-collate' },
{ 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: 'Protect PDF', link: '/tools/protect-pdf' },
{ text: 'Sanitize PDF', link: '/tools/sanitize-pdf' },
{ text: 'Unlock PDF', link: '/tools/unlock-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/': [
{
text: 'Self-Hosting Guide',
items: [
{ text: 'Overview', link: '/self-hosting/' },
{ text: 'Docker', link: '/self-hosting/docker' },
{ text: 'Vercel', link: '/self-hosting/vercel' },
{ text: 'Netlify', link: '/self-hosting/netlify' },
{ text: 'Cloudflare Pages', link: '/self-hosting/cloudflare' },
{ text: 'AWS S3 + CloudFront', link: '/self-hosting/aws' },
{ text: 'Hostinger', link: '/self-hosting/hostinger' },
{ text: 'Nginx', link: '/self-hosting/nginx' },
{ text: 'Apache', link: '/self-hosting/apache' }
]
}
],
'/': [
{
text: 'Guide',
items: [
{ text: 'Getting Started', link: '/getting-started' },
{ text: 'Tools Reference', link: '/tools/' },
{ text: 'Self-Hosting', link: '/self-hosting/' },
{ text: 'Contributing', link: '/contributing' },
{ text: 'Commercial License', link: '/licensing' }
]
}
]
},
sidebar,
socialLinks: [
{ icon: 'github', link: 'https://github.com/alam00000/bentopdf' },
@@ -224,12 +212,17 @@ export default defineConfig({
],
footer: {
message: 'Dual-licensed under AGPL-3.0 and Commercial License.',
message: FOOTER_MESSAGE,
copyright: 'Copyright © 2026 BentoPDF'
},
search: {
provider: 'local'
provider: 'local',
options: {
locales: Object.fromEntries(
enabled.map((lang) => [lang, localeSearch(lang)])
)
}
}
}
})
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "إضافة مرفقات",
"Add Blank Page": "إضافة صفحة فارغة",
"Add Page Labels": "إضافة تسميات الصفحات",
"Add Stamps": "إضافة أختام",
"Add Watermark": "إضافة علامة مائية",
"Adjust Colors": "ضبط الألوان",
"Alternate & Mix Pages": "تبديل ومزج الصفحات",
"Apache": "Apache",
"Appearance": "المظهر",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "لون الخلفية",
"Bates Numbering": "ترقيم بيتس",
"BMP to PDF": "BMP إلى PDF",
"CBZ to PDF": "CBZ إلى PDF",
"Change language": "تغيير اللغة",
"Change Permissions": "تغيير الأذونات",
"Change Text Color": "تغيير لون النص",
"Close search": "إغلاق البحث",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "دمج في صفحة واحدة",
"Commercial License": "الترخيص التجاري",
"Compare PDFs": "مقارنة ملفات PDF",
"Compress PDF": "ضغط PDF",
"Contributing": "المساهمة",
"Convert from PDF": "التحويل من PDF",
"Convert to PDF": "التحويل إلى PDF",
"Create PDF Form": "إنشاء نموذج PDF",
"Crop PDF": "قص PDF",
"CSV to PDF": "CSV إلى PDF",
"Delete Pages": "حذف الصفحات",
"Deskew PDF": "تصحيح انحراف PDF",
"Digital Signature": "التوقيع الرقمي",
"Display detailed list": "عرض القائمة التفصيلية",
"Divide Pages": "تقسيم الصفحات",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "توثيق BentoPDF، مجموعة أدوات PDF المجانية ومفتوحة المصدر والمصممة للخصوصية",
"Dual-licensed under AGPL-3.0 and Commercial License.": "مرخّص بترخيصين: AGPL-3.0 والترخيص التجاري.",
"Duplex Collate": "ترتيب المسح على الوجهين",
"Edit & Annotate": "تعديل وتعليق",
"Edit Attachments": "تعديل المرفقات",
"Edit Bookmarks": "تعديل الإشارات المرجعية",
"Edit Metadata": "تعديل البيانات الوصفية",
"Email to PDF": "بريد إلكتروني إلى PDF",
"EPUB to PDF": "EPUB إلى PDF",
"Excel to PDF": "Excel إلى PDF",
"Extract Attachments": "استخراج المرفقات",
"Extract Images": "استخراج الصور",
"Extract Pages": "استخراج الصفحات",
"Extract Tables": "استخراج الجداول",
"FB2 to PDF": "FB2 إلى PDF",
"Fix Page Size": "توحيد حجم الصفحة",
"Flatten PDF": "تسطيح PDF",
"Font to Outline": "تحويل الخطوط إلى مخططات",
"Getting Started": "البدء",
"Guide": "الدليل",
"Header & Footer": "رأس وتذييل",
"HEIC to PDF": "HEIC إلى PDF",
"Home": "الرئيسية",
"Hostinger": "Hostinger",
"Images to PDF": "صور إلى PDF",
"Invert Colors": "عكس الألوان",
"JPG to PDF": "JPG إلى PDF",
"JSON to PDF": "JSON إلى PDF",
"Linearize PDF": "تحسين PDF للويب",
"Markdown to PDF": "Markdown إلى PDF",
"Menu": "القائمة",
"Merge PDF": "دمج PDF",
"MOBI to PDF": "MOBI إلى PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "الصفحة التالية",
"Nginx": "Nginx",
"No results for": "لا توجد نتائج لـ",
"OCR PDF": "التعرف الضوئي على PDF",
"ODG to PDF": "ODG إلى PDF",
"ODP to PDF": "ODP إلى PDF",
"ODS to PDF": "ODS إلى PDF",
"ODT to PDF": "ODT إلى PDF",
"On this page": "في هذه الصفحة",
"Optimize & Repair": "التحسين والإصلاح",
"Organize & Duplicate": "تكرار وتنظيم",
"Organize & Manage": "التنظيم والإدارة",
"Overview": "نظرة عامة",
"Page Dimensions": "أبعاد الصفحة",
"Page Numbers": "أرقام الصفحات",
"PDF Booklet": "كتيّب PDF",
"PDF Editor": "محرر PDF",
"PDF Form Filler": "ملء نماذج PDF",
"PDF Multi Tool": "أداة PDF المتعددة",
"PDF OCG": "طبقات PDF OCG",
"PDF to BMP": "PDF إلى BMP",
"PDF to CBZ": "PDF إلى CBZ",
"PDF to CSV": "PDF إلى CSV",
"PDF to Excel": "PDF إلى Excel",
"PDF to Greyscale": "PDF إلى تدرج الرمادي",
"PDF to JPG": "PDF إلى JPG",
"PDF to JSON": "PDF إلى JSON",
"PDF to Markdown": "PDF إلى Markdown",
"PDF to PDF/A": "PDF إلى PDF/A",
"PDF to PNG": "PDF إلى PNG",
"PDF to SVG": "PDF إلى SVG",
"PDF to Text": "PDF إلى نص",
"PDF to TIFF": "PDF إلى TIFF",
"PDF to WebP": "PDF إلى WebP",
"PDF to Word": "PDF إلى Word",
"PDF Workflow Builder": "منشئ سير عمل PDF",
"PDFs to ZIP": "PDF إلى ZIP",
"PNG to PDF": "PNG إلى PDF",
"Posterize PDF": "تقسيم PDF إلى ملصقات",
"PowerPoint to PDF": "PowerPoint إلى PDF",
"Prepare PDF for AI": "تحضير PDF للذكاء الاصطناعي",
"Previous page": "الصفحة السابقة",
"Protect PDF": "حماية PDF",
"PSD to PDF": "PSD إلى PDF",
"PUB to PDF": "PUB إلى PDF",
"Rasterize PDF": "تحويل PDF إلى صور نقطية",
"Remove Annotations": "إزالة التعليقات",
"Remove Blank Pages": "إزالة الصفحات الفارغة",
"Remove Metadata": "إزالة البيانات الوصفية",
"Remove Restrictions": "إزالة القيود",
"Repair PDF": "إصلاح PDF",
"Reset search": "إعادة تعيين البحث",
"Return to top": "العودة إلى الأعلى",
"Reverse Pages": "عكس الصفحات",
"Rotate by Custom Degrees": "تدوير بزاوية مخصصة",
"Rotate PDF": "تدوير PDF",
"RTF to PDF": "RTF إلى PDF",
"Sanitize PDF": "تنظيف PDF",
"Scanner Effect": "تأثير الماسح الضوئي",
"Search": "بحث",
"Secure PDF": "تأمين PDF",
"Self-Hosting": "الاستضافة الذاتية",
"Self-Hosting Guide": "دليل الاستضافة الذاتية",
"Sign PDF": "توقيع PDF",
"Skip to content": "انتقل إلى المحتوى",
"Split PDF": "تقسيم PDF",
"SVG to PDF": "SVG إلى PDF",
"Switch to dark theme": "التبديل إلى المظهر الداكن",
"Switch to light theme": "التبديل إلى المظهر الفاتح",
"Table of Contents": "جدول المحتويات",
"Text to PDF": "نص إلى PDF",
"TIFF to PDF": "TIFF إلى PDF",
"to close": "للإغلاق",
"to navigate": "للتنقل",
"to select": "للاختيار",
"Tools": "الأدوات",
"Tools Reference": "مرجع الأدوات",
"Unlock PDF": "إلغاء قفل PDF",
"Validate Signature": "التحقق من توقيع PDF",
"Vercel": "Vercel",
"View Metadata": "عرض البيانات الوصفية",
"VSD to PDF": "VSD إلى PDF",
"WebP to PDF": "WebP إلى PDF",
"Word to PDF": "Word إلى PDF",
"WPD to PDF": "WPD إلى PDF",
"WPS to PDF": "WPS إلى PDF",
"XML to PDF": "XML إلى PDF",
"XPS to PDF": "XPS إلى PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Дадаць далучэнні",
"Add Blank Page": "Дадаць пустую старонку",
"Add Page Labels": "Дадаць пазнакі старонак",
"Add Stamps": "Дадаць штампы",
"Add Watermark": "Дадаць вадзяны знак",
"Adjust Colors": "Наладзіць колеры",
"Alternate & Mix Pages": "Чаргаваць і змяшаць старонкі",
"Apache": "Apache",
"Appearance": "Знешні выгляд",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Колер фону",
"Bates Numbering": "Нумарацыя Бейтса",
"BMP to PDF": "BMP у PDF",
"CBZ to PDF": "CBZ у PDF",
"Change language": "Змяніць мову",
"Change Permissions": "Змяніць дазволы",
"Change Text Color": "Змяніць колер тэксту",
"Close search": "Закрыць пошук",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Аб'яднаць у адну старонку",
"Commercial License": "Камерцыйная ліцэнзія",
"Compare PDFs": "Параўнаць PDF",
"Compress PDF": "Сціснуць PDF",
"Contributing": "Удзел у распрацоўцы",
"Convert from PDF": "Канвертацыя з PDF",
"Convert to PDF": "Канвертацыя ў PDF",
"Create PDF Form": "Стварыць форму PDF",
"Crop PDF": "Абрэзаць PDF",
"CSV to PDF": "CSV у PDF",
"Delete Pages": "Выдаліць старонкі",
"Deskew PDF": "Выпрастаць PDF",
"Digital Signature": "Лічбавы подпіс",
"Display detailed list": "Паказаць падрабязны спіс",
"Divide Pages": "Падзяліць старонкі",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Дакументацыя BentoPDF: бясплатны набор інструментаў PDF з адкрытым кодам і пашанай да прыватнасці",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Двайная ліцэнзія: AGPL-3.0 і камерцыйная ліцэнзія.",
"Duplex Collate": "Сартаванне двухбаковага сканавання",
"Edit & Annotate": "Рэдагаванне і анатацыі",
"Edit Attachments": "Рэдагаваць далучэнні",
"Edit Bookmarks": "Рэдагаваць закладкі",
"Edit Metadata": "Рэдагаваць метаданыя",
"Email to PDF": "Email у PDF",
"EPUB to PDF": "EPUB у PDF",
"Excel to PDF": "Excel у PDF",
"Extract Attachments": "Выняць далучэнні",
"Extract Images": "Выняць відарысы",
"Extract Pages": "Выняць старонкі",
"Extract Tables": "Выняць табліцы",
"FB2 to PDF": "FB2 у PDF",
"Fix Page Size": "Уніфікаваць памер старонак",
"Flatten PDF": "Звесці PDF",
"Font to Outline": "Шрыфт у контуры",
"Getting Started": "Пачатак працы",
"Guide": "Кіраўніцтва",
"Header & Footer": "Верхні і ніжні калантытул",
"HEIC to PDF": "HEIC у PDF",
"Home": "Галоўная",
"Hostinger": "Hostinger",
"Images to PDF": "Відарысы ў PDF",
"Invert Colors": "Інвертаваць колеры",
"JPG to PDF": "JPG у PDF",
"JSON to PDF": "JSON у PDF",
"Linearize PDF": "Зрабіць лінейны PDF",
"Markdown to PDF": "Markdown у PDF",
"Menu": "Меню",
"Merge PDF": "Аб'яднаць PDF",
"MOBI to PDF": "MOBI у PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "Наступная старонка",
"Nginx": "Nginx",
"No results for": "Няма вынікаў для",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG у PDF",
"ODP to PDF": "ODP у PDF",
"ODS to PDF": "ODS у PDF",
"ODT to PDF": "ODT у PDF",
"On this page": "На гэтай старонцы",
"Optimize & Repair": "Аптымізацыя і аднаўленне",
"Organize & Duplicate": "Арганізацыя і дубліраванне",
"Organize & Manage": "Арганізацыя і кіраванне",
"Overview": "Агляд",
"Page Dimensions": "Памеры старонкі",
"Page Numbers": "Нумары старонак",
"PDF Booklet": "Буклет PDF",
"PDF Editor": "Рэдактар PDF",
"PDF Form Filler": "Запоўніць форму PDF",
"PDF Multi Tool": "Мультыінструмент PDF",
"PDF OCG": "PDF OCG",
"PDF to BMP": "PDF у BMP",
"PDF to CBZ": "PDF у CBZ",
"PDF to CSV": "PDF у CSV",
"PDF to Excel": "PDF у Excel",
"PDF to Greyscale": "PDF у градацыі шэрага",
"PDF to JPG": "PDF у JPG",
"PDF to JSON": "PDF у JSON",
"PDF to Markdown": "PDF у Markdown",
"PDF to PDF/A": "PDF у PDF/A",
"PDF to PNG": "PDF у PNG",
"PDF to SVG": "PDF у SVG",
"PDF to Text": "PDF у тэкст",
"PDF to TIFF": "PDF у TIFF",
"PDF to WebP": "PDF у WebP",
"PDF to Word": "PDF у Word",
"PDF Workflow Builder": "Канструктар рабочага працэсу PDF",
"PDFs to ZIP": "PDF у ZIP",
"PNG to PDF": "PNG у PDF",
"Posterize PDF": "Пераўтварыць у постэр",
"PowerPoint to PDF": "PowerPoint у PDF",
"Prepare PDF for AI": "Падрыхтаваць PDF для ШI",
"Previous page": "Папярэдняя старонка",
"Protect PDF": "Абараніць PDF",
"PSD to PDF": "PSD у PDF",
"PUB to PDF": "PUB у PDF",
"Rasterize PDF": "Растарызаваць PDF",
"Remove Annotations": "Выдаліць анатацыі",
"Remove Blank Pages": "Выдаліць пустыя старонкі",
"Remove Metadata": "Выдаліць метаданыя",
"Remove Restrictions": "Выдаліць абмежаванні",
"Repair PDF": "Аднавіць PDF",
"Reset search": "Скінуць пошук",
"Return to top": "Вярнуцца ўгару",
"Reverse Pages": "Адваротны парадак старонак",
"Rotate by Custom Degrees": "Павярнуць на зададзены вугал",
"Rotate PDF": "Павярнуць PDF",
"RTF to PDF": "RTF у PDF",
"Sanitize PDF": "Ачысціць PDF",
"Scanner Effect": "Эфект сканера",
"Search": "Пошук",
"Secure PDF": "Бяспека PDF",
"Self-Hosting": "Уласны хостынг",
"Self-Hosting Guide": "Кіраўніцтва па ўласным хостынгу",
"Sign PDF": "Падпісаць PDF",
"Skip to content": "Перайсці да зместу",
"Split PDF": "Падзяліць PDF",
"SVG to PDF": "SVG у PDF",
"Switch to dark theme": "Уключыць цёмную тэму",
"Switch to light theme": "Уключыць светлую тэму",
"Table of Contents": "Змест",
"Text to PDF": "Тэкст у PDF",
"TIFF to PDF": "TIFF у PDF",
"to close": "каб закрыць",
"to navigate": "для навігацыі",
"to select": "каб выбраць",
"Tools": "Інструменты",
"Tools Reference": "Даведнік па інструментах",
"Unlock PDF": "Разблакаваць PDF",
"Validate Signature": "Праверыць подпіс",
"Vercel": "Vercel",
"View Metadata": "Праглядзець метаданыя",
"VSD to PDF": "VSD у PDF",
"WebP to PDF": "WebP у PDF",
"Word to PDF": "Word у PDF",
"WPD to PDF": "WPD у PDF",
"WPS to PDF": "WPS у PDF",
"XML to PDF": "XML у PDF",
"XPS to PDF": "XPS у PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Afegeix fitxers adjunts",
"Add Blank Page": "Afegeix una pàgina en blanc",
"Add Page Labels": "Afegeix etiquetes de pàgina",
"Add Stamps": "Afegeix segells",
"Add Watermark": "Afegeix una marca d'aigua",
"Adjust Colors": "Ajusta els colors",
"Alternate & Mix Pages": "Alterna i barreja pàgines",
"Apache": "Apache",
"Appearance": "Aparença",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Color de fons",
"Bates Numbering": "Numeració Bates",
"BMP to PDF": "BMP a PDF",
"CBZ to PDF": "CBZ a PDF",
"Change language": "Canvia l'idioma",
"Change Permissions": "Canvia els permisos",
"Change Text Color": "Canvia el color del text",
"Close search": "Tanca la cerca",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Combina en una única pàgina",
"Commercial License": "Llicència comercial",
"Compare PDFs": "Compara PDF",
"Compress PDF": "Comprimeix PDF",
"Contributing": "Contribuir",
"Convert from PDF": "Converteix des de PDF",
"Convert to PDF": "Converteix a PDF",
"Create PDF Form": "Crea un formulari PDF",
"Crop PDF": "Retalla PDF",
"CSV to PDF": "CSV a PDF",
"Delete Pages": "Suprimeix pàgines",
"Deskew PDF": "Redreça PDF",
"Digital Signature": "Signatura digital de PDF",
"Display detailed list": "Mostra la llista detallada",
"Divide Pages": "Divideix pàgines",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Documentació de BentoPDF: el conjunt d'eines PDF gratuït, de codi obert i pensat per protegir la privadesa",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Doble llicència: AGPL-3.0 i llicència comercial.",
"Duplex Collate": "Ordena les cares d'un escaneig a doble cara",
"Edit & Annotate": "Edita i anota",
"Edit Attachments": "Edita els fitxers adjunts",
"Edit Bookmarks": "Edita els marcadors",
"Edit Metadata": "Edita les metadades",
"Email to PDF": "Correu electrònic a PDF",
"EPUB to PDF": "EPUB a PDF",
"Excel to PDF": "Excel a PDF",
"Extract Attachments": "Extreu fitxers adjunts",
"Extract Images": "Extreu imatges",
"Extract Pages": "Extreu pàgines",
"Extract Tables": "Extreu taules de PDF",
"FB2 to PDF": "FB2 a PDF",
"Fix Page Size": "Uniformitza la mida de pàgina",
"Flatten PDF": "Aplana PDF",
"Font to Outline": "Converteix tipus de lletra en contorns",
"Getting Started": "Primers passos",
"Guide": "Guia",
"Header & Footer": "Capçalera i peu de pàgina",
"HEIC to PDF": "HEIC a PDF",
"Home": "Inici",
"Hostinger": "Hostinger",
"Images to PDF": "Imatges a PDF",
"Invert Colors": "Inverteix els colors",
"JPG to PDF": "JPG a PDF",
"JSON to PDF": "JSON a PDF",
"Linearize PDF": "Linealitza PDF",
"Markdown to PDF": "Markdown a PDF",
"Menu": "Menú",
"Merge PDF": "Fusiona PDF",
"MOBI to PDF": "MOBI a PDF",
"N-Up PDF": "PDF amb diverses pàgines per full",
"Netlify": "Netlify",
"Next page": "Pàgina següent",
"Nginx": "Nginx",
"No results for": "Cap resultat per a",
"OCR PDF": "Reconeixement OCR de PDF",
"ODG to PDF": "ODG a PDF",
"ODP to PDF": "ODP a PDF",
"ODS to PDF": "ODS a PDF",
"ODT to PDF": "ODT a PDF",
"On this page": "En aquesta pàgina",
"Optimize & Repair": "Optimitza i repara",
"Organize & Duplicate": "Duplica i organitza",
"Organize & Manage": "Organitza i gestiona",
"Overview": "Visió general",
"Page Dimensions": "Dimensions de pàgina",
"Page Numbers": "Números de pàgina",
"PDF Booklet": "Fullet PDF",
"PDF Editor": "Editor de PDF",
"PDF Form Filler": "Emplena formularis PDF",
"PDF Multi Tool": "Eina PDF multifunció",
"PDF OCG": "Capes OCG del PDF",
"PDF to BMP": "PDF a BMP",
"PDF to CBZ": "PDF a CBZ",
"PDF to CSV": "PDF a CSV",
"PDF to Excel": "PDF a Excel",
"PDF to Greyscale": "PDF a escala de grisos",
"PDF to JPG": "PDF a JPG",
"PDF to JSON": "PDF a JSON",
"PDF to Markdown": "PDF a Markdown",
"PDF to PDF/A": "PDF a PDF/A",
"PDF to PNG": "PDF a PNG",
"PDF to SVG": "PDF a SVG",
"PDF to Text": "PDF a text",
"PDF to TIFF": "PDF a TIFF",
"PDF to WebP": "PDF a WebP",
"PDF to Word": "PDF a Word",
"PDF Workflow Builder": "Creador de fluxos de treball PDF",
"PDFs to ZIP": "PDF a ZIP",
"PNG to PDF": "PNG a PDF",
"Posterize PDF": "Divideix PDF en format pòster",
"PowerPoint to PDF": "PowerPoint a PDF",
"Prepare PDF for AI": "Prepara PDF per a IA",
"Previous page": "Pàgina anterior",
"Protect PDF": "Protegeix PDF",
"PSD to PDF": "PSD a PDF",
"PUB to PDF": "PUB a PDF",
"Rasterize PDF": "Rasteritza PDF",
"Remove Annotations": "Elimina les anotacions",
"Remove Blank Pages": "Elimina les pàgines en blanc",
"Remove Metadata": "Elimina les metadades",
"Remove Restrictions": "Elimina les restriccions",
"Repair PDF": "Repara PDF",
"Reset search": "Restableix la cerca",
"Return to top": "Torna a dalt",
"Reverse Pages": "Inverteix l'ordre de les pàgines",
"Rotate by Custom Degrees": "Gira amb un angle personalitzat",
"Rotate PDF": "Gira PDF",
"RTF to PDF": "RTF a PDF",
"Sanitize PDF": "Neteja PDF",
"Scanner Effect": "Efecte d'escàner",
"Search": "Cerca",
"Secure PDF": "Xifra PDF",
"Self-Hosting": "Autoallotjament",
"Self-Hosting Guide": "Guia d'autoallotjament",
"Sign PDF": "Signa PDF",
"Skip to content": "Vés al contingut",
"Split PDF": "Divideix PDF",
"SVG to PDF": "SVG a PDF",
"Switch to dark theme": "Canvia al tema fosc",
"Switch to light theme": "Canvia al tema clar",
"Table of Contents": "Taula de continguts",
"Text to PDF": "Text a PDF",
"TIFF to PDF": "TIFF a PDF",
"to close": "per tancar",
"to navigate": "per navegar",
"to select": "per seleccionar",
"Tools": "Eines",
"Tools Reference": "Referència d'eines",
"Unlock PDF": "Desbloqueja PDF",
"Validate Signature": "Valida la signatura d'un PDF",
"Vercel": "Vercel",
"View Metadata": "Visualitza les metadades",
"VSD to PDF": "VSD a PDF",
"WebP to PDF": "WebP a PDF",
"Word to PDF": "Word a PDF",
"WPD to PDF": "WPD a PDF",
"WPS to PDF": "WPS a PDF",
"XML to PDF": "XML a PDF",
"XPS to PDF": "XPS a PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Tilføj vedhæftninger",
"Add Blank Page": "Tilføj tom side",
"Add Page Labels": "Tilføj sideetiketter",
"Add Stamps": "Tilføj stempler",
"Add Watermark": "Tilføj vandmærke",
"Adjust Colors": "Justér farver",
"Alternate & Mix Pages": "Alternér og miks sider",
"Apache": "Apache",
"Appearance": "Udseende",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Baggrundsfarve",
"Bates Numbering": "Bates-nummerering",
"BMP to PDF": "BMP til PDF",
"CBZ to PDF": "CBZ til PDF",
"Change language": "Skift sprog",
"Change Permissions": "Skift tilladelser",
"Change Text Color": "Skift tekstfarve",
"Close search": "Luk søgning",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Kombinér til én side",
"Commercial License": "Kommerciel licens",
"Compare PDFs": "Sammenlign PDF’er",
"Compress PDF": "Komprimer PDF",
"Contributing": "Bidrag",
"Convert from PDF": "Konvertér fra PDF",
"Convert to PDF": "Konvertér til PDF",
"Create PDF Form": "Opret PDF-formular",
"Crop PDF": "Beskær PDF",
"CSV to PDF": "CSV til PDF",
"Delete Pages": "Slet sider",
"Deskew PDF": "Ret skæve sider",
"Digital Signature": "Digital signatur",
"Display detailed list": "Vis detaljeret liste",
"Divide Pages": "Opdel sider",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Dokumentation for BentoPDF: Den gratis, open source PDF-værktøjskasse med privatliv i første række",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Dobbelt licenseret under AGPL-3.0 og Kommerciel licens.",
"Duplex Collate": "Sortér dupleks-scanning",
"Edit & Annotate": "Redigér og annotér",
"Edit Attachments": "Redigér vedhæftninger",
"Edit Bookmarks": "Redigér bogmærker",
"Edit Metadata": "Redigér metadata",
"Email to PDF": "E-mail til PDF",
"EPUB to PDF": "EPUB til PDF",
"Excel to PDF": "Excel til PDF",
"Extract Attachments": "Udtræk vedhæftninger",
"Extract Images": "Udtræk billeder",
"Extract Pages": "Udtræk sider",
"Extract Tables": "Udtræk tabeller",
"FB2 to PDF": "FB2 til PDF",
"Fix Page Size": "Ret sidestørrelse",
"Flatten PDF": "Fladgør PDF",
"Font to Outline": "Skrifttype til kontur",
"Getting Started": "Kom i gang",
"Guide": "Guide",
"Header & Footer": "Sidehoved og sidefod",
"HEIC to PDF": "HEIC til PDF",
"Home": "Hjem",
"Hostinger": "Hostinger",
"Images to PDF": "Billeder til PDF",
"Invert Colors": "Invertér farver",
"JPG to PDF": "JPG til PDF",
"JSON to PDF": "JSON til PDF",
"Linearize PDF": "Lineariser PDF",
"Markdown to PDF": "Markdown til PDF",
"Menu": "Menu",
"Merge PDF": "Flet PDF",
"MOBI to PDF": "MOBI til PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "Næste side",
"Nginx": "Nginx",
"No results for": "Ingen resultater for",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG til PDF",
"ODP to PDF": "ODP til PDF",
"ODS to PDF": "ODS til PDF",
"ODT to PDF": "ODT til PDF",
"On this page": "På denne side",
"Optimize & Repair": "Optimér og reparér",
"Organize & Duplicate": "Organisér og dupliker",
"Organize & Manage": "Organisér og administrér",
"Overview": "Oversigt",
"Page Dimensions": "Sidestørrelser",
"Page Numbers": "Sidetal",
"PDF Booklet": "PDF-hæfte",
"PDF Editor": "PDF-editor",
"PDF Form Filler": "PDF-formularudfylder",
"PDF Multi Tool": "PDF-multiværktøj",
"PDF OCG": "PDF OCG",
"PDF to BMP": "PDF til BMP",
"PDF to CBZ": "PDF til CBZ",
"PDF to CSV": "PDF til CSV",
"PDF to Excel": "PDF til Excel",
"PDF to Greyscale": "PDF til gråtoner",
"PDF to JPG": "PDF til JPG",
"PDF to JSON": "PDF til JSON",
"PDF to Markdown": "PDF til Markdown",
"PDF to PDF/A": "PDF til PDF/A",
"PDF to PNG": "PDF til PNG",
"PDF to SVG": "PDF til SVG",
"PDF to Text": "PDF til tekst",
"PDF to TIFF": "PDF til TIFF",
"PDF to WebP": "PDF til WebP",
"PDF to Word": "PDF til Word",
"PDF Workflow Builder": "PDF-workflowbygger",
"PDFs to ZIP": "PDF’er til ZIP",
"PNG to PDF": "PNG til PDF",
"Posterize PDF": "Posterisér PDF",
"PowerPoint to PDF": "PowerPoint til PDF",
"Prepare PDF for AI": "Forbered PDF til AI",
"Previous page": "Forrige side",
"Protect PDF": "Beskyt PDF",
"PSD to PDF": "PSD til PDF",
"PUB to PDF": "PUB til PDF",
"Rasterize PDF": "Rasterisér PDF",
"Remove Annotations": "Fjern annotationer",
"Remove Blank Pages": "Fjern tomme sider",
"Remove Metadata": "Fjern metadata",
"Remove Restrictions": "Fjern begrænsninger",
"Repair PDF": "Reparér PDF",
"Reset search": "Nulstil søgning",
"Return to top": "Tilbage til toppen",
"Reverse Pages": "Vend sider",
"Rotate by Custom Degrees": "Roter med brugerdefineret vinkel",
"Rotate PDF": "Roter PDF",
"RTF to PDF": "RTF til PDF",
"Sanitize PDF": "Rens PDF",
"Scanner Effect": "Scannereffekt",
"Search": "Søg",
"Secure PDF": "Sikr PDF",
"Self-Hosting": "Selvhosting",
"Self-Hosting Guide": "Guide til selvhosting",
"Sign PDF": "Underskriv PDF",
"Skip to content": "Gå til indhold",
"Split PDF": "Opdel PDF",
"SVG to PDF": "SVG til PDF",
"Switch to dark theme": "Skift til mørkt tema",
"Switch to light theme": "Skift til lyst tema",
"Table of Contents": "Indholdsfortegnelse",
"Text to PDF": "Tekst til PDF",
"TIFF to PDF": "TIFF til PDF",
"to close": "for at lukke",
"to navigate": "for at navigere",
"to select": "for at vælge",
"Tools": "Værktøjer",
"Tools Reference": "Værktøjsreference",
"Unlock PDF": "Lås PDF op",
"Validate Signature": "Validér signatur",
"Vercel": "Vercel",
"View Metadata": "Vis metadata",
"VSD to PDF": "VSD til PDF",
"WebP to PDF": "WebP til PDF",
"Word to PDF": "Word til PDF",
"WPD to PDF": "WPD til PDF",
"WPS to PDF": "WPS til PDF",
"XML to PDF": "XML til PDF",
"XPS to PDF": "XPS til PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Anhänge hinzufügen",
"Add Blank Page": "Leere Seite hinzufügen",
"Add Page Labels": "Seitenbeschriftungen hinzufügen",
"Add Stamps": "Stempel hinzufügen",
"Add Watermark": "Wasserzeichen hinzufügen",
"Adjust Colors": "Farben anpassen",
"Alternate & Mix Pages": "Seiten abwechselnd mischen",
"Apache": "Apache",
"Appearance": "Darstellung",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Hintergrundfarbe",
"Bates Numbering": "Bates-Nummerierung",
"BMP to PDF": "BMP zu PDF",
"CBZ to PDF": "CBZ zu PDF",
"Change language": "Sprache ändern",
"Change Permissions": "Berechtigungen ändern",
"Change Text Color": "Textfarbe ändern",
"Close search": "Suche schließen",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Zu einer Seite kombinieren",
"Commercial License": "Kommerzielle Lizenz",
"Compare PDFs": "PDFs vergleichen",
"Compress PDF": "PDF komprimieren",
"Contributing": "Mitwirken",
"Convert from PDF": "Aus PDF konvertieren",
"Convert to PDF": "In PDF konvertieren",
"Create PDF Form": "PDF-Formular erstellen",
"Crop PDF": "PDF zuschneiden",
"CSV to PDF": "CSV zu PDF",
"Delete Pages": "Seiten löschen",
"Deskew PDF": "PDF entzerren",
"Digital Signature": "Digitale PDF-Signatur",
"Display detailed list": "Detaillierte Liste anzeigen",
"Divide Pages": "Seiten teilen",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Dokumentation für BentoPDF: das kostenlose Open-Source-PDF-Toolkit mit Fokus auf Privatsphäre",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Doppelt lizenziert unter AGPL-3.0 und kommerzieller Lizenz.",
"Duplex Collate": "Duplex-Zusammenführung",
"Edit & Annotate": "Bearbeiten & Annotieren",
"Edit Attachments": "Anhänge bearbeiten",
"Edit Bookmarks": "Lesezeichen bearbeiten",
"Edit Metadata": "Metadaten bearbeiten",
"Email to PDF": "E-Mail zu PDF",
"EPUB to PDF": "EPUB zu PDF",
"Excel to PDF": "Excel zu PDF",
"Extract Attachments": "Anhänge extrahieren",
"Extract Images": "Bilder extrahieren",
"Extract Pages": "Seiten extrahieren",
"Extract Tables": "PDF-Tabellen extrahieren",
"FB2 to PDF": "FB2 zu PDF",
"Fix Page Size": "Seitengröße reparieren",
"Flatten PDF": "PDF reduzieren",
"Font to Outline": "Schriftart zu Umriss",
"Getting Started": "Erste Schritte",
"Guide": "Anleitung",
"Header & Footer": "Kopf- & Fußzeile",
"HEIC to PDF": "HEIC zu PDF",
"Home": "Startseite",
"Hostinger": "Hostinger",
"Images to PDF": "Bilder zu PDF",
"Invert Colors": "Farben invertieren",
"JPG to PDF": "JPG zu PDF",
"JSON to PDF": "JSON zu PDF",
"Linearize PDF": "PDF linearisieren",
"Markdown to PDF": "Markdown zu PDF",
"Menu": "Menü",
"Merge PDF": "PDF zusammenführen",
"MOBI to PDF": "MOBI zu PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "Nächste Seite",
"Nginx": "Nginx",
"No results for": "Keine Ergebnisse für",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG zu PDF",
"ODP to PDF": "ODP zu PDF",
"ODS to PDF": "ODS zu PDF",
"ODT to PDF": "ODT zu PDF",
"On this page": "Auf dieser Seite",
"Optimize & Repair": "Optimieren & Reparieren",
"Organize & Duplicate": "Duplizieren & Organisieren",
"Organize & Manage": "Organisieren & Verwalten",
"Overview": "Übersicht",
"Page Dimensions": "Seitenmaße",
"Page Numbers": "Seitenzahlen",
"PDF Booklet": "PDF-Broschüre",
"PDF Editor": "PDF-Editor",
"PDF Form Filler": "PDF-Formular ausfüllen",
"PDF Multi Tool": "PDF-Multitool",
"PDF OCG": "PDF-Ebenen (OCG)",
"PDF to BMP": "PDF zu BMP",
"PDF to CBZ": "PDF zu CBZ",
"PDF to CSV": "PDF zu CSV",
"PDF to Excel": "PDF zu Excel",
"PDF to Greyscale": "PDF zu Graustufen",
"PDF to JPG": "PDF zu JPG",
"PDF to JSON": "PDF zu JSON",
"PDF to Markdown": "PDF zu Markdown",
"PDF to PDF/A": "PDF zu PDF/A",
"PDF to PNG": "PDF zu PNG",
"PDF to SVG": "PDF zu SVG",
"PDF to Text": "PDF zu Text",
"PDF to TIFF": "PDF zu TIFF",
"PDF to WebP": "PDF zu WebP",
"PDF to Word": "PDF zu Word",
"PDF Workflow Builder": "PDF-Workflow-Builder",
"PDFs to ZIP": "PDFs zu ZIP",
"PNG to PDF": "PNG zu PDF",
"Posterize PDF": "PDF posterisieren",
"PowerPoint to PDF": "PowerPoint zu PDF",
"Prepare PDF for AI": "PDF für KI vorbereiten",
"Previous page": "Vorherige Seite",
"Protect PDF": "PDF schützen",
"PSD to PDF": "PSD zu PDF",
"PUB to PDF": "PUB zu PDF",
"Rasterize PDF": "PDF rastern",
"Remove Annotations": "Annotationen entfernen",
"Remove Blank Pages": "Leere Seiten entfernen",
"Remove Metadata": "Metadaten entfernen",
"Remove Restrictions": "Beschränkungen entfernen",
"Repair PDF": "PDF reparieren",
"Reset search": "Suche zurücksetzen",
"Return to top": "Zurück nach oben",
"Reverse Pages": "Seiten umkehren",
"Rotate by Custom Degrees": "Um benutzerdefinierte Grad drehen",
"Rotate PDF": "PDF drehen",
"RTF to PDF": "RTF zu PDF",
"Sanitize PDF": "PDF bereinigen",
"Scanner Effect": "Scanner-Effekt",
"Search": "Suchen",
"Secure PDF": "PDF sichern",
"Self-Hosting": "Selbst hosten",
"Self-Hosting Guide": "Anleitung zum Selbst-Hosting",
"Sign PDF": "PDF unterschreiben",
"Skip to content": "Zum Inhalt springen",
"Split PDF": "PDF teilen",
"SVG to PDF": "SVG zu PDF",
"Switch to dark theme": "Zum dunklen Design wechseln",
"Switch to light theme": "Zum hellen Design wechseln",
"Table of Contents": "Inhaltsverzeichnis",
"Text to PDF": "Text zu PDF",
"TIFF to PDF": "TIFF zu PDF",
"to close": "zum Schließen",
"to navigate": "zum Navigieren",
"to select": "zum Auswählen",
"Tools": "Werkzeuge",
"Tools Reference": "Werkzeugübersicht",
"Unlock PDF": "PDF entsperren",
"Validate Signature": "PDF-Signatur überprüfen",
"Vercel": "Vercel",
"View Metadata": "Metadaten anzeigen",
"VSD to PDF": "VSD zu PDF",
"WebP to PDF": "WebP zu PDF",
"Word to PDF": "Word zu PDF",
"WPD to PDF": "WPD zu PDF",
"WPS to PDF": "WPS zu PDF",
"XML to PDF": "XML zu PDF",
"XPS to PDF": "XPS zu PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Agregar adjuntos",
"Add Blank Page": "Agregar página en blanco",
"Add Page Labels": "Agregar etiquetas de página",
"Add Stamps": "Agregar sellos",
"Add Watermark": "Agregar marca de agua",
"Adjust Colors": "Ajustar colores",
"Alternate & Mix Pages": "Alternar y mezclar páginas",
"Apache": "Apache",
"Appearance": "Apariencia",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Color de fondo",
"Bates Numbering": "Numeración Bates",
"BMP to PDF": "BMP a PDF",
"CBZ to PDF": "CBZ a PDF",
"Change language": "Cambiar idioma",
"Change Permissions": "Cambiar permisos",
"Change Text Color": "Cambiar color de texto",
"Close search": "Cerrar búsqueda",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Combinar en una sola página",
"Commercial License": "Licencia comercial",
"Compare PDFs": "Comparar PDFs",
"Compress PDF": "Comprimir PDF",
"Contributing": "Contribuir",
"Convert from PDF": "Convertir desde PDF",
"Convert to PDF": "Convertir a PDF",
"Create PDF Form": "Crear formulario PDF",
"Crop PDF": "Recortar PDF",
"CSV to PDF": "CSV a PDF",
"Delete Pages": "Eliminar páginas",
"Deskew PDF": "Enderezar PDF",
"Digital Signature": "Firma Digital PDF",
"Display detailed list": "Mostrar lista detallada",
"Divide Pages": "Dividir páginas",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Documentación de BentoPDF: el kit de herramientas PDF gratuito, de código abierto y centrado en la privacidad",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Con doble licencia: AGPL-3.0 y licencia comercial.",
"Duplex Collate": "Intercalar escaneo a doble cara",
"Edit & Annotate": "Editar y anotar",
"Edit Attachments": "Editar adjuntos",
"Edit Bookmarks": "Editar marcadores",
"Edit Metadata": "Editar metadatos",
"Email to PDF": "Email a PDF",
"EPUB to PDF": "EPUB a PDF",
"Excel to PDF": "Excel a PDF",
"Extract Attachments": "Extraer adjuntos",
"Extract Images": "Extraer imágenes",
"Extract Pages": "Extraer páginas",
"Extract Tables": "Extraer Tablas de PDF",
"FB2 to PDF": "FB2 a PDF",
"Fix Page Size": "Ajustar tamaño de página",
"Flatten PDF": "Aplanar PDF",
"Font to Outline": "Fuente a contorno",
"Getting Started": "Primeros pasos",
"Guide": "Guía",
"Header & Footer": "Encabezado y pie de página",
"HEIC to PDF": "HEIC a PDF",
"Home": "Inicio",
"Hostinger": "Hostinger",
"Images to PDF": "Imágenes a PDF",
"Invert Colors": "Invertir colores",
"JPG to PDF": "JPG a PDF",
"JSON to PDF": "JSON a PDF",
"Linearize PDF": "Linealizar PDF",
"Markdown to PDF": "Markdown a PDF",
"Menu": "Menú",
"Merge PDF": "Fusionar PDF",
"MOBI to PDF": "MOBI a PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "Página siguiente",
"Nginx": "Nginx",
"No results for": "Sin resultados para",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG a PDF",
"ODP to PDF": "ODP a PDF",
"ODS to PDF": "ODS a PDF",
"ODT to PDF": "ODT a PDF",
"On this page": "En esta página",
"Optimize & Repair": "Optimizar y reparar",
"Organize & Duplicate": "Duplicar y Organizar",
"Organize & Manage": "Organizar y gestionar",
"Overview": "Resumen",
"Page Dimensions": "Dimensiones de página",
"Page Numbers": "Números de página",
"PDF Booklet": "Folleto PDF",
"PDF Editor": "Editor PDF",
"PDF Form Filler": "Rellenar formularios PDF",
"PDF Multi Tool": "Multiherramienta PDF",
"PDF OCG": "Capas PDF (OCG)",
"PDF to BMP": "PDF a BMP",
"PDF to CBZ": "PDF a CBZ",
"PDF to CSV": "PDF a CSV",
"PDF to Excel": "PDF a Excel",
"PDF to Greyscale": "PDF a escala de grises",
"PDF to JPG": "PDF a JPG",
"PDF to JSON": "PDF a JSON",
"PDF to Markdown": "PDF a Markdown",
"PDF to PDF/A": "PDF a PDF/A",
"PDF to PNG": "PDF a PNG",
"PDF to SVG": "PDF a SVG",
"PDF to Text": "PDF a texto",
"PDF to TIFF": "PDF a TIFF",
"PDF to WebP": "PDF a WebP",
"PDF to Word": "PDF a Word",
"PDF Workflow Builder": "Constructor de flujos de trabajo PDF",
"PDFs to ZIP": "PDFs a ZIP",
"PNG to PDF": "PNG a PDF",
"Posterize PDF": "Posterizar PDF",
"PowerPoint to PDF": "PowerPoint a PDF",
"Prepare PDF for AI": "Preparar PDF para IA",
"Previous page": "Página anterior",
"Protect PDF": "Proteger PDF",
"PSD to PDF": "PSD a PDF",
"PUB to PDF": "PUB a PDF",
"Rasterize PDF": "Rasterizar PDF",
"Remove Annotations": "Eliminar anotaciones",
"Remove Blank Pages": "Eliminar páginas en blanco",
"Remove Metadata": "Eliminar metadatos",
"Remove Restrictions": "Eliminar restricciones",
"Repair PDF": "Reparar PDF",
"Reset search": "Restablecer búsqueda",
"Return to top": "Volver arriba",
"Reverse Pages": "Invertir páginas",
"Rotate by Custom Degrees": "Rotar por grados personalizados",
"Rotate PDF": "Rotar PDF",
"RTF to PDF": "RTF a PDF",
"Sanitize PDF": "Sanear PDF",
"Scanner Effect": "Efecto escáner",
"Search": "Buscar",
"Secure PDF": "Proteger PDF",
"Self-Hosting": "Autoalojamiento",
"Self-Hosting Guide": "Guía de autoalojamiento",
"Sign PDF": "Firmar PDF",
"Skip to content": "Saltar al contenido",
"Split PDF": "Dividir PDF",
"SVG to PDF": "SVG a PDF",
"Switch to dark theme": "Cambiar al tema oscuro",
"Switch to light theme": "Cambiar al tema claro",
"Table of Contents": "Índice",
"Text to PDF": "Texto a PDF",
"TIFF to PDF": "TIFF a PDF",
"to close": "para cerrar",
"to navigate": "para navegar",
"to select": "para seleccionar",
"Tools": "Herramientas",
"Tools Reference": "Referencia de herramientas",
"Unlock PDF": "Desbloquear PDF",
"Validate Signature": "Validar Firma PDF",
"Vercel": "Vercel",
"View Metadata": "Ver metadatos",
"VSD to PDF": "VSD a PDF",
"WebP to PDF": "WebP a PDF",
"Word to PDF": "Word a PDF",
"WPD to PDF": "WPD a PDF",
"WPS to PDF": "WPS a PDF",
"XML to PDF": "XML a PDF",
"XPS to PDF": "XPS a PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "افزودن پیوست",
"Add Blank Page": "افزودن صفحهٔ خالی",
"Add Page Labels": "افزودن برچسب صفحه",
"Add Stamps": "افزودن مهر",
"Add Watermark": "افزودن واترمارک",
"Adjust Colors": "تنظیم رنگ‌ها",
"Alternate & Mix Pages": "ادغام یک‌درمیان صفحات",
"Apache": "Apache",
"Appearance": "ظاهر",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "رنگ پس‌زمینه",
"Bates Numbering": "شماره‌گذاری Bates",
"BMP to PDF": "BMP به PDF",
"CBZ to PDF": "CBZ به PDF",
"Change language": "تغییر زبان",
"Change Permissions": "تغییر مجوزها",
"Change Text Color": "تغییر رنگ متن",
"Close search": "بستن جستجو",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "ترکیب در یک صفحه",
"Commercial License": "مجوز تجاری",
"Compare PDFs": "مقایسهٔ PDFها",
"Compress PDF": "فشرده‌سازی PDF",
"Contributing": "مشارکت",
"Convert from PDF": "تبدیل از PDF",
"Convert to PDF": "تبدیل به PDF",
"Create PDF Form": "ساخت فرم PDF",
"Crop PDF": "برش PDF",
"CSV to PDF": "CSV به PDF",
"Delete Pages": "حذف صفحات",
"Deskew PDF": "صاف‌کردن PDF",
"Digital Signature": "امضای دیجیتال",
"Display detailed list": "نمایش فهرست تفصیلی",
"Divide Pages": "تقسیم صفحات",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "مستندات BentoPDF، مجموعه ابزار PDF رایگان، متن‌باز و حریم‌خصوصی‌محور",
"Dual-licensed under AGPL-3.0 and Commercial License.": "دارای مجوز دوگانه: AGPL-3.0 و مجوز تجاری.",
"Duplex Collate": "تلفیق دورو",
"Edit & Annotate": "ویرایش و حاشیه‌نویسی",
"Edit Attachments": "ویرایش پیوست‌ها",
"Edit Bookmarks": "ویرایش نشانک‌ها",
"Edit Metadata": "ویرایش فراداده",
"Email to PDF": "ایمیل به PDF",
"EPUB to PDF": "EPUB به PDF",
"Excel to PDF": "Excel به PDF",
"Extract Attachments": "استخراج پیوست‌ها",
"Extract Images": "استخراج تصاویر",
"Extract Pages": "استخراج صفحات",
"Extract Tables": "استخراج جدول‌های PDF",
"FB2 to PDF": "FB2 به PDF",
"Fix Page Size": "اصلاح اندازهٔ صفحه",
"Flatten PDF": "مسطح‌سازی PDF",
"Font to Outline": "تبدیل قلم به خطوط برداری",
"Getting Started": "شروع کار",
"Guide": "راهنما",
"Header & Footer": "سرصفحه و پاصفحه",
"HEIC to PDF": "HEIC به PDF",
"Home": "خانه",
"Hostinger": "Hostinger",
"Images to PDF": "تصاویر به PDF",
"Invert Colors": "وارونه‌سازی رنگ‌ها",
"JPG to PDF": "JPG به PDF",
"JSON to PDF": "JSON به PDF",
"Linearize PDF": "خطی‌سازی PDF",
"Markdown to PDF": "Markdown به PDF",
"Menu": "منو",
"Merge PDF": "ادغام PDF",
"MOBI to PDF": "MOBI به PDF",
"N-Up PDF": "N-Up کردن PDF",
"Netlify": "Netlify",
"Next page": "صفحهٔ بعد",
"Nginx": "Nginx",
"No results for": "نتیجه‌ای یافت نشد برای",
"OCR PDF": "OCR روی PDF",
"ODG to PDF": "ODG به PDF",
"ODP to PDF": "ODP به PDF",
"ODS to PDF": "ODS به PDF",
"ODT to PDF": "ODT به PDF",
"On this page": "در این صفحه",
"Optimize & Repair": "بهینه‌سازی و ترمیم",
"Organize & Duplicate": "تکثیر و سازماندهی",
"Organize & Manage": "سازماندهی و مدیریت",
"Overview": "نمای کلی",
"Page Dimensions": "ابعاد صفحه",
"Page Numbers": "شماره‌گذاری صفحات",
"PDF Booklet": "دفترچهٔ PDF",
"PDF Editor": "ویرایشگر PDF",
"PDF Form Filler": "پرکنندهٔ فرم PDF",
"PDF Multi Tool": "ابزار چندکارهٔ PDF",
"PDF OCG": "لایه‌های OCG در PDF",
"PDF to BMP": "PDF به BMP",
"PDF to CBZ": "PDF به CBZ",
"PDF to CSV": "PDF به CSV",
"PDF to Excel": "PDF به Excel",
"PDF to Greyscale": "PDF به خاکستری",
"PDF to JPG": "PDF به JPG",
"PDF to JSON": "PDF به JSON",
"PDF to Markdown": "PDF به Markdown",
"PDF to PDF/A": "PDF به PDF/A",
"PDF to PNG": "PDF به PNG",
"PDF to SVG": "PDF به SVG",
"PDF to Text": "PDF به متن",
"PDF to TIFF": "PDF به TIFF",
"PDF to WebP": "PDF به WebP",
"PDF to Word": "PDF به Word",
"PDF Workflow Builder": "سازندهٔ گردش کار PDF",
"PDFs to ZIP": "PDFها به ZIP",
"PNG to PDF": "PNG به PDF",
"Posterize PDF": "پوستری‌کردن PDF",
"PowerPoint to PDF": "PowerPoint به PDF",
"Prepare PDF for AI": "آماده‌سازی PDF برای هوش مصنوعی",
"Previous page": "صفحهٔ قبل",
"Protect PDF": "محافظت از PDF",
"PSD to PDF": "PSD به PDF",
"PUB to PDF": "PUB به PDF",
"Rasterize PDF": "رستر کردن PDF",
"Remove Annotations": "حذف حاشیه‌نویسی‌ها",
"Remove Blank Pages": "حذف صفحات خالی",
"Remove Metadata": "حذف فراداده",
"Remove Restrictions": "حذف محدودیت‌ها",
"Repair PDF": "ترمیم PDF",
"Reset search": "بازنشانی جستجو",
"Return to top": "بازگشت به بالا",
"Reverse Pages": "وارونه‌سازی ترتیب صفحات",
"Rotate by Custom Degrees": "چرخاندن با زاویهٔ دلخواه",
"Rotate PDF": "چرخاندن PDF",
"RTF to PDF": "RTF به PDF",
"Sanitize PDF": "پاک‌سازی PDF",
"Scanner Effect": "جلوهٔ اسکنر",
"Search": "جستجو",
"Secure PDF": "ایمن‌سازی PDF",
"Self-Hosting": "میزبانی شخصی",
"Self-Hosting Guide": "راهنمای میزبانی شخصی",
"Sign PDF": "امضای PDF",
"Skip to content": "رفتن به محتوا",
"Split PDF": "تقسیم PDF",
"SVG to PDF": "SVG به PDF",
"Switch to dark theme": "تغییر به پوستهٔ تیره",
"Switch to light theme": "تغییر به پوستهٔ روشن",
"Table of Contents": "فهرست مطالب",
"Text to PDF": "متن به PDF",
"TIFF to PDF": "TIFF به PDF",
"to close": "برای بستن",
"to navigate": "برای پیمایش",
"to select": "برای انتخاب",
"Tools": "ابزارها",
"Tools Reference": "مرجع ابزارها",
"Unlock PDF": "باز کردن قفل PDF",
"Validate Signature": "اعتبارسنجی امضا",
"Vercel": "Vercel",
"View Metadata": "مشاهدهٔ فراداده",
"VSD to PDF": "VSD به PDF",
"WebP to PDF": "WebP به PDF",
"Word to PDF": "Word به PDF",
"WPD to PDF": "WPD به PDF",
"WPS to PDF": "WPS به PDF",
"XML to PDF": "XML به PDF",
"XPS to PDF": "XPS به PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Ajouter des pièces jointes",
"Add Blank Page": "Ajouter une page vierge",
"Add Page Labels": "Ajouter des étiquettes de page",
"Add Stamps": "Ajouter des tampons",
"Add Watermark": "Ajouter un filigrane",
"Adjust Colors": "Ajuster les couleurs",
"Alternate & Mix Pages": "Alterner et mélanger les pages",
"Apache": "Apache",
"Appearance": "Apparence",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Couleur de fond",
"Bates Numbering": "Numérotation Bates",
"BMP to PDF": "BMP vers PDF",
"CBZ to PDF": "CBZ vers PDF",
"Change language": "Changer de langue",
"Change Permissions": "Modifier les autorisations",
"Change Text Color": "Changer la couleur du texte",
"Close search": "Fermer la recherche",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Combiner en une seule page",
"Commercial License": "Licence commerciale",
"Compare PDFs": "Comparer des PDF",
"Compress PDF": "Compresser un PDF",
"Contributing": "Contribuer",
"Convert from PDF": "Convertir depuis PDF",
"Convert to PDF": "Convertir vers PDF",
"Create PDF Form": "Créer un formulaire PDF",
"Crop PDF": "Rogner un PDF",
"CSV to PDF": "CSV vers PDF",
"Delete Pages": "Supprimer des pages",
"Deskew PDF": "Redresser un PDF",
"Digital Signature": "Signature numérique PDF",
"Display detailed list": "Afficher la liste détaillée",
"Divide Pages": "Diviser les pages",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Documentation de BentoPDF : la boîte à outils PDF gratuite, open source et axée sur la confidentialité",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Double licence : AGPL-3.0 et licence commerciale.",
"Duplex Collate": "Assembler un scan recto/verso",
"Edit & Annotate": "Modifier et annoter",
"Edit Attachments": "Gérer les pièces jointes",
"Edit Bookmarks": "Modifier les signets",
"Edit Metadata": "Modifier les métadonnées",
"Email to PDF": "Email vers PDF",
"EPUB to PDF": "EPUB vers PDF",
"Excel to PDF": "Excel vers PDF",
"Extract Attachments": "Extraire les pièces jointes",
"Extract Images": "Extraire les images",
"Extract Pages": "Extraire des pages",
"Extract Tables": "Extraire les tableaux PDF",
"FB2 to PDF": "FB2 vers PDF",
"Fix Page Size": "Uniformiser la taille des pages",
"Flatten PDF": "Aplatir le PDF",
"Font to Outline": "Polices en contours",
"Getting Started": "Premiers pas",
"Guide": "Guide",
"Header & Footer": "En-tête et pied de page",
"HEIC to PDF": "HEIC vers PDF",
"Home": "Accueil",
"Hostinger": "Hostinger",
"Images to PDF": "Images vers PDF",
"Invert Colors": "Inverser les couleurs",
"JPG to PDF": "JPG vers PDF",
"JSON to PDF": "JSON vers PDF",
"Linearize PDF": "Optimiser pour le web",
"Markdown to PDF": "Markdown vers PDF",
"Menu": "Menu",
"Merge PDF": "Fusionner des PDF",
"MOBI to PDF": "MOBI vers PDF",
"N-Up PDF": "PDF N-up",
"Netlify": "Netlify",
"Next page": "Page suivante",
"Nginx": "Nginx",
"No results for": "Aucun résultat pour",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG vers PDF",
"ODP to PDF": "ODP vers PDF",
"ODS to PDF": "ODS vers PDF",
"ODT to PDF": "ODT vers PDF",
"On this page": "Sur cette page",
"Optimize & Repair": "Optimiser et réparer",
"Organize & Duplicate": "Dupliquer et organiser",
"Organize & Manage": "Organiser et gérer",
"Overview": "Vue d’ensemble",
"Page Dimensions": "Dimensions des pages",
"Page Numbers": "Numéros de page",
"PDF Booklet": "Livret PDF",
"PDF Editor": "Éditeur PDF",
"PDF Form Filler": "Remplir un formulaire PDF",
"PDF Multi Tool": "Outil PDF tout-en-un",
"PDF OCG": "Calques PDF (OCG)",
"PDF to BMP": "PDF vers BMP",
"PDF to CBZ": "PDF vers CBZ",
"PDF to CSV": "PDF vers CSV",
"PDF to Excel": "PDF vers Excel",
"PDF to Greyscale": "PDF en niveaux de gris",
"PDF to JPG": "PDF vers JPG",
"PDF to JSON": "PDF vers JSON",
"PDF to Markdown": "PDF vers Markdown",
"PDF to PDF/A": "PDF vers PDF/A",
"PDF to PNG": "PDF vers PNG",
"PDF to SVG": "PDF vers SVG",
"PDF to Text": "PDF vers texte",
"PDF to TIFF": "PDF vers TIFF",
"PDF to WebP": "PDF vers WebP",
"PDF to Word": "PDF vers Word",
"PDF Workflow Builder": "Constructeur de workflow PDF",
"PDFs to ZIP": "PDF vers ZIP",
"PNG to PDF": "PNG vers PDF",
"Posterize PDF": "Posteriser un PDF",
"PowerPoint to PDF": "PowerPoint vers PDF",
"Prepare PDF for AI": "Préparer le PDF pour l'IA",
"Previous page": "Page précédente",
"Protect PDF": "Protéger un PDF",
"PSD to PDF": "PSD vers PDF",
"PUB to PDF": "PUB vers PDF",
"Rasterize PDF": "Rastériser le PDF",
"Remove Annotations": "Supprimer les annotations",
"Remove Blank Pages": "Supprimer les pages blanches",
"Remove Metadata": "Supprimer les métadonnées",
"Remove Restrictions": "Supprimer les restrictions",
"Repair PDF": "Réparer un PDF",
"Reset search": "Réinitialiser la recherche",
"Return to top": "Retour en haut",
"Reverse Pages": "Inverser l’ordre des pages",
"Rotate by Custom Degrees": "Rotation par angle personnalisé",
"Rotate PDF": "Faire pivoter un PDF",
"RTF to PDF": "RTF vers PDF",
"Sanitize PDF": "Nettoyer un PDF",
"Scanner Effect": "Effet scanner",
"Search": "Rechercher",
"Secure PDF": "Sécuriser un PDF",
"Self-Hosting": "Auto-hébergement",
"Self-Hosting Guide": "Guide d’auto-hébergement",
"Sign PDF": "Signer un PDF",
"Skip to content": "Aller au contenu",
"Split PDF": "Scinder un PDF",
"SVG to PDF": "SVG vers PDF",
"Switch to dark theme": "Passer au thème sombre",
"Switch to light theme": "Passer au thème clair",
"Table of Contents": "Table des matières",
"Text to PDF": "Texte vers PDF",
"TIFF to PDF": "TIFF vers PDF",
"to close": "pour fermer",
"to navigate": "pour naviguer",
"to select": "pour sélectionner",
"Tools": "Outils",
"Tools Reference": "Référence des outils",
"Unlock PDF": "Déverrouiller un PDF",
"Validate Signature": "Valider la signature PDF",
"Vercel": "Vercel",
"View Metadata": "Afficher les métadonnées",
"VSD to PDF": "VSD vers PDF",
"WebP to PDF": "WebP vers PDF",
"Word to PDF": "Word vers PDF",
"WPD to PDF": "WPD vers PDF",
"WPS to PDF": "WPS vers PDF",
"XML to PDF": "XML vers PDF",
"XPS to PDF": "XPS vers PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Tambah Lampiran",
"Add Blank Page": "Tambah Halaman Kosong",
"Add Page Labels": "Tambahkan label halaman",
"Add Stamps": "Tambah Stempel",
"Add Watermark": "Tambah Watermark",
"Adjust Colors": "Sesuaikan Warna",
"Alternate & Mix Pages": "Selang-seling & Campur Halaman",
"Apache": "Apache",
"Appearance": "Tampilan",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Warna Latar Belakang",
"Bates Numbering": "Penomoran Bates",
"BMP to PDF": "BMP ke PDF",
"CBZ to PDF": "CBZ ke PDF",
"Change language": "Ubah bahasa",
"Change Permissions": "Ubah Izin",
"Change Text Color": "Ubah Warna Teks",
"Close search": "Tutup pencarian",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Gabung ke Halaman Tunggal",
"Commercial License": "Lisensi Komersial",
"Compare PDFs": "Bandingkan PDF",
"Compress PDF": "Kompres PDF",
"Contributing": "Berkontribusi",
"Convert from PDF": "Konversi dari PDF",
"Convert to PDF": "Konversi ke PDF",
"Create PDF Form": "Buat Formulir PDF",
"Crop PDF": "Potong PDF",
"CSV to PDF": "CSV ke PDF",
"Delete Pages": "Hapus Halaman",
"Deskew PDF": "Luruskan PDF",
"Digital Signature": "Tanda Tangan Digital",
"Display detailed list": "Tampilkan daftar terperinci",
"Divide Pages": "Bagi Halaman",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Dokumentasi BentoPDF - Toolkit PDF gratis, sumber terbuka, dan mengutamakan privasi",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Berlisensi ganda di bawah AGPL-3.0 dan Lisensi Komersial.",
"Duplex Collate": "Susun Ulang Pindaian Dupleks",
"Edit & Annotate": "Edit & Anotasi",
"Edit Attachments": "Edit Lampiran",
"Edit Bookmarks": "Edit Bookmark",
"Edit Metadata": "Edit Metadata",
"Email to PDF": "Email ke PDF",
"EPUB to PDF": "EPUB ke PDF",
"Excel to PDF": "Excel ke PDF",
"Extract Attachments": "Ekstrak Lampiran",
"Extract Images": "Ekstrak Gambar",
"Extract Pages": "Ekstrak Halaman",
"Extract Tables": "Ekstrak Tabel PDF",
"FB2 to PDF": "FB2 ke PDF",
"Fix Page Size": "Perbaiki Ukuran Halaman",
"Flatten PDF": "Ratakan PDF",
"Font to Outline": "Font ke Garis Tepi",
"Getting Started": "Memulai",
"Guide": "Panduan",
"Header & Footer": "Kepala & Kaki Halaman",
"HEIC to PDF": "HEIC ke PDF",
"Home": "Beranda",
"Hostinger": "Hostinger",
"Images to PDF": "Gambar ke PDF",
"Invert Colors": "Balik Warna",
"JPG to PDF": "JPG ke PDF",
"JSON to PDF": "JSON ke PDF",
"Linearize PDF": "Linierisasi PDF",
"Markdown to PDF": "Markdown ke PDF",
"Menu": "Menu",
"Merge PDF": "Gabung PDF",
"MOBI to PDF": "MOBI ke PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "Halaman berikutnya",
"Nginx": "Nginx",
"No results for": "Tidak ada hasil untuk",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG ke PDF",
"ODP to PDF": "ODP ke PDF",
"ODS to PDF": "ODS ke PDF",
"ODT to PDF": "ODT ke PDF",
"On this page": "Di halaman ini",
"Optimize & Repair": "Optimalkan & Perbaiki",
"Organize & Duplicate": "Duplikat & Atur",
"Organize & Manage": "Atur & Kelola",
"Overview": "Ringkasan",
"Page Dimensions": "Dimensi Halaman",
"Page Numbers": "Nomor Halaman",
"PDF Booklet": "Buku Kecil PDF",
"PDF Editor": "Editor PDF",
"PDF Form Filler": "Pengisi Formulir PDF",
"PDF Multi Tool": "Alat Multi PDF",
"PDF OCG": "Lapisan PDF (OCG)",
"PDF to BMP": "PDF ke BMP",
"PDF to CBZ": "PDF ke CBZ",
"PDF to CSV": "PDF ke CSV",
"PDF to Excel": "PDF ke Excel",
"PDF to Greyscale": "PDF ke Skala Abu-abu",
"PDF to JPG": "PDF ke JPG",
"PDF to JSON": "PDF ke JSON",
"PDF to Markdown": "PDF ke Markdown",
"PDF to PDF/A": "PDF ke PDF/A",
"PDF to PNG": "PDF ke PNG",
"PDF to SVG": "PDF ke SVG",
"PDF to Text": "PDF ke Teks",
"PDF to TIFF": "PDF ke TIFF",
"PDF to WebP": "PDF ke WebP",
"PDF to Word": "PDF ke Word",
"PDF Workflow Builder": "Pembangun Alur Kerja PDF",
"PDFs to ZIP": "PDF ke ZIP",
"PNG to PDF": "PNG ke PDF",
"Posterize PDF": "Posterisasi PDF",
"PowerPoint to PDF": "PowerPoint ke PDF",
"Prepare PDF for AI": "Siapkan PDF untuk AI",
"Previous page": "Halaman sebelumnya",
"Protect PDF": "Lindungi PDF",
"PSD to PDF": "PSD ke PDF",
"PUB to PDF": "PUB ke PDF",
"Rasterize PDF": "Rasterisasi PDF",
"Remove Annotations": "Hapus Anotasi",
"Remove Blank Pages": "Hapus Halaman Kosong",
"Remove Metadata": "Hapus Metadata",
"Remove Restrictions": "Hapus Pembatasan",
"Repair PDF": "Perbaiki PDF",
"Reset search": "Atur ulang pencarian",
"Return to top": "Kembali ke atas",
"Reverse Pages": "Balik Halaman",
"Rotate by Custom Degrees": "Putar dengan Derajat Kustom",
"Rotate PDF": "Putar PDF",
"RTF to PDF": "RTF ke PDF",
"Sanitize PDF": "Sanitasi PDF",
"Scanner Effect": "Efek Pemindai",
"Search": "Cari",
"Secure PDF": "Amankan PDF",
"Self-Hosting": "Hosting Mandiri",
"Self-Hosting Guide": "Panduan Hosting Mandiri",
"Sign PDF": "Tanda Tangan PDF",
"Skip to content": "Lewati ke konten",
"Split PDF": "Pisah PDF",
"SVG to PDF": "SVG ke PDF",
"Switch to dark theme": "Beralih ke tema gelap",
"Switch to light theme": "Beralih ke tema terang",
"Table of Contents": "Daftar Isi",
"Text to PDF": "Teks ke PDF",
"TIFF to PDF": "TIFF ke PDF",
"to close": "untuk menutup",
"to navigate": "untuk bernavigasi",
"to select": "untuk memilih",
"Tools": "Alat",
"Tools Reference": "Referensi Alat",
"Unlock PDF": "Buka Kunci PDF",
"Validate Signature": "Validasi Tanda Tangan PDF",
"Vercel": "Vercel",
"View Metadata": "Lihat Metadata",
"VSD to PDF": "VSD ke PDF",
"WebP to PDF": "WebP ke PDF",
"Word to PDF": "Word ke PDF",
"WPD to PDF": "WPD ke PDF",
"WPS to PDF": "WPS ke PDF",
"XML to PDF": "XML ke PDF",
"XPS to PDF": "XPS ke PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Aggiungi allegati",
"Add Blank Page": "Aggiungi pagina vuota",
"Add Page Labels": "Aggiungi etichette di pagina",
"Add Stamps": "Aggiungi timbri",
"Add Watermark": "Aggiungi filigrana",
"Adjust Colors": "Regola colori",
"Alternate & Mix Pages": "Alterna e mescola pagine",
"Apache": "Apache",
"Appearance": "Aspetto",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Colore di sfondo",
"Bates Numbering": "Numerazione Bates",
"BMP to PDF": "BMP in PDF",
"CBZ to PDF": "CBZ in PDF",
"Change language": "Cambia lingua",
"Change Permissions": "Modifica permessi",
"Change Text Color": "Cambia colore testo",
"Close search": "Chiudi la ricerca",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Combina in una pagina",
"Commercial License": "Licenza commerciale",
"Compare PDFs": "Confronta PDF",
"Compress PDF": "Comprimi PDF",
"Contributing": "Contribuire",
"Convert from PDF": "Converti da PDF",
"Convert to PDF": "Converti in PDF",
"Create PDF Form": "Crea modulo PDF",
"Crop PDF": "Ritaglia PDF",
"CSV to PDF": "CSV in PDF",
"Delete Pages": "Elimina pagine",
"Deskew PDF": "Raddrizza PDF",
"Digital Signature": "Firma digitale",
"Display detailed list": "Mostra elenco dettagliato",
"Divide Pages": "Dividi pagine",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Documentazione di BentoPDF: il toolkit PDF gratuito, open source e attento alla privacy",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Doppia licenza: AGPL-3.0 e Licenza commerciale.",
"Duplex Collate": "Fascicola scansione fronte/retro",
"Edit & Annotate": "Modifica e annota",
"Edit Attachments": "Modifica allegati",
"Edit Bookmarks": "Modifica segnalibri",
"Edit Metadata": "Modifica metadati",
"Email to PDF": "Email in PDF",
"EPUB to PDF": "EPUB in PDF",
"Excel to PDF": "Excel in PDF",
"Extract Attachments": "Estrai allegati",
"Extract Images": "Estrai immagini",
"Extract Pages": "Estrai pagine",
"Extract Tables": "Estrai tabelle",
"FB2 to PDF": "FB2 in PDF",
"Fix Page Size": "Correggi dimensione pagina",
"Flatten PDF": "Appiattisci PDF",
"Font to Outline": "Font in contorni",
"Getting Started": "Per iniziare",
"Guide": "Guida",
"Header & Footer": "Intestazione e piè di pagina",
"HEIC to PDF": "HEIC in PDF",
"Home": "Home",
"Hostinger": "Hostinger",
"Images to PDF": "Immagini in PDF",
"Invert Colors": "Inverti colori",
"JPG to PDF": "JPG in PDF",
"JSON to PDF": "JSON in PDF",
"Linearize PDF": "Linearizza PDF",
"Markdown to PDF": "Markdown in PDF",
"Menu": "Menu",
"Merge PDF": "Unisci PDF",
"MOBI to PDF": "MOBI in PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "Pagina successiva",
"Nginx": "Nginx",
"No results for": "Nessun risultato per",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG in PDF",
"ODP to PDF": "ODP in PDF",
"ODS to PDF": "ODS in PDF",
"ODT to PDF": "ODT in PDF",
"On this page": "In questa pagina",
"Optimize & Repair": "Ottimizza e ripara",
"Organize & Duplicate": "Organizza e duplica",
"Organize & Manage": "Organizza e gestisci",
"Overview": "Panoramica",
"Page Dimensions": "Dimensioni pagina",
"Page Numbers": "Numeri di pagina",
"PDF Booklet": "Opuscolo PDF",
"PDF Editor": "Editor PDF",
"PDF Form Filler": "Compilatore moduli PDF",
"PDF Multi Tool": "Strumento PDF multifunzione",
"PDF OCG": "Livelli PDF (OCG)",
"PDF to BMP": "PDF in BMP",
"PDF to CBZ": "PDF in CBZ",
"PDF to CSV": "PDF in CSV",
"PDF to Excel": "PDF in Excel",
"PDF to Greyscale": "PDF in scala di grigi",
"PDF to JPG": "PDF in JPG",
"PDF to JSON": "PDF in JSON",
"PDF to Markdown": "PDF in Markdown",
"PDF to PDF/A": "PDF in PDF/A",
"PDF to PNG": "PDF in PNG",
"PDF to SVG": "PDF in SVG",
"PDF to Text": "PDF in Testo",
"PDF to TIFF": "PDF in TIFF",
"PDF to WebP": "PDF in WebP",
"PDF to Word": "PDF in Word",
"PDF Workflow Builder": "Costruttore di workflow PDF",
"PDFs to ZIP": "PDF in ZIP",
"PNG to PDF": "PNG in PDF",
"Posterize PDF": "Posterizza PDF",
"PowerPoint to PDF": "PowerPoint in PDF",
"Prepare PDF for AI": "Prepara PDF per IA",
"Previous page": "Pagina precedente",
"Protect PDF": "Proteggi PDF",
"PSD to PDF": "PSD in PDF",
"PUB to PDF": "PUB in PDF",
"Rasterize PDF": "Rasterizza PDF",
"Remove Annotations": "Rimuovi annotazioni",
"Remove Blank Pages": "Rimuovi pagine vuote",
"Remove Metadata": "Rimuovi metadati",
"Remove Restrictions": "Rimuovi restrizioni",
"Repair PDF": "Ripara PDF",
"Reset search": "Reimposta la ricerca",
"Return to top": "Torna su",
"Reverse Pages": "Inverti pagine",
"Rotate by Custom Degrees": "Ruota di gradi personalizzati",
"Rotate PDF": "Ruota PDF",
"RTF to PDF": "RTF in PDF",
"Sanitize PDF": "Sanitizza PDF",
"Scanner Effect": "Effetto scanner",
"Search": "Cerca",
"Secure PDF": "Proteggi PDF",
"Self-Hosting": "Self-hosting",
"Self-Hosting Guide": "Guida al self-hosting",
"Sign PDF": "Firma PDF",
"Skip to content": "Vai al contenuto",
"Split PDF": "Dividi PDF",
"SVG to PDF": "SVG in PDF",
"Switch to dark theme": "Passa al tema scuro",
"Switch to light theme": "Passa al tema chiaro",
"Table of Contents": "Indice",
"Text to PDF": "Testo in PDF",
"TIFF to PDF": "TIFF in PDF",
"to close": "per chiudere",
"to navigate": "per navigare",
"to select": "per selezionare",
"Tools": "Strumenti",
"Tools Reference": "Riferimento degli strumenti",
"Unlock PDF": "Sblocca PDF",
"Validate Signature": "Convalida firma",
"Vercel": "Vercel",
"View Metadata": "Visualizza metadati",
"VSD to PDF": "VSD in PDF",
"WebP to PDF": "WebP in PDF",
"Word to PDF": "Word in PDF",
"WPD to PDF": "WPD in PDF",
"WPS to PDF": "WPS in PDF",
"XML to PDF": "XML in PDF",
"XPS to PDF": "XPS in PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "添付ファイルの追加",
"Add Blank Page": "空白ページの追加",
"Add Page Labels": "ページラベルの追加",
"Add Stamps": "スタンプの追加",
"Add Watermark": "透かしの追加",
"Adjust Colors": "色の調整",
"Alternate & Mix Pages": "ページの交互結合と混合",
"Apache": "Apache",
"Appearance": "外観",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "背景色",
"Bates Numbering": "通し番号付け",
"BMP to PDF": "BMPからPDF",
"CBZ to PDF": "CBZからPDF",
"Change language": "言語を変更",
"Change Permissions": "権限の変更",
"Change Text Color": "テキストの色の変更",
"Close search": "検索を閉じる",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "単一ページに結合",
"Commercial License": "商用ライセンス",
"Compare PDFs": "PDFの比較",
"Compress PDF": "PDFの圧縮",
"Contributing": "コントリビュート",
"Convert from PDF": "PDFから変換",
"Convert to PDF": "PDFに変換",
"Create PDF Form": "PDFフォームの作成",
"Crop PDF": "PDFのトリミング",
"CSV to PDF": "CSVからPDF",
"Delete Pages": "ページの削除",
"Deskew PDF": "PDFの傾き補正",
"Digital Signature": "PDFへの電子署名",
"Display detailed list": "詳細リストを表示",
"Divide Pages": "ページの分割",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "BentoPDFのドキュメント: 無料でオープンソース、プライバシーを第一に考えたPDFツールキット",
"Dual-licensed under AGPL-3.0 and Commercial License.": "AGPL-3.0と商用ライセンスのデュアルライセンスです。",
"Duplex Collate": "両面スキャンの並べ替え",
"Edit & Annotate": "編集と注釈",
"Edit Attachments": "添付ファイルの編集",
"Edit Bookmarks": "しおりの編集",
"Edit Metadata": "メタデータの編集",
"Email to PDF": "電子メールからPDF",
"EPUB to PDF": "EPUBからPDF",
"Excel to PDF": "ExcelからPDF",
"Extract Attachments": "添付ファイルの抽出",
"Extract Images": "画像の抽出",
"Extract Pages": "ページの抽出",
"Extract Tables": "PDFテーブルの抽出",
"FB2 to PDF": "FB2からPDF",
"Fix Page Size": "ページサイズを固定",
"Flatten PDF": "PDFの平坦化",
"Font to Outline": "フォントをアウトライン化",
"Getting Started": "はじめに",
"Guide": "ガイド",
"Header & Footer": "ヘッダーとフッター",
"HEIC to PDF": "HEICからPDF",
"Home": "ホーム",
"Hostinger": "Hostinger",
"Images to PDF": "画像からPDF",
"Invert Colors": "色の反転",
"JPG to PDF": "JPGからPDF",
"JSON to PDF": "JSONからPDF",
"Linearize PDF": "PDFの線形化",
"Markdown to PDF": "マークダウンからPDF",
"Menu": "メニュー",
"Merge PDF": "PDFの結合",
"MOBI to PDF": "MOBIからPDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "次のページ",
"Nginx": "Nginx",
"No results for": "次の検索結果はありません:",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODGからPDF",
"ODP to PDF": "ODPからPDF",
"ODS to PDF": "ODSからPDF",
"ODT to PDF": "ODTからPDF",
"On this page": "このページの内容",
"Optimize & Repair": "最適化と修復",
"Organize & Duplicate": "複製と整理",
"Organize & Manage": "整理と管理",
"Overview": "概要",
"Page Dimensions": "ページ寸法",
"Page Numbers": "ページ番号",
"PDF Booklet": "PDFブックレット",
"PDF Editor": "PDFエディター",
"PDF Form Filler": "PDFフォーム入力機能",
"PDF Multi Tool": "PDFマルチツール",
"PDF OCG": "PDF OCG",
"PDF to BMP": "PDFからBMP",
"PDF to CBZ": "PDFからCBZ",
"PDF to CSV": "PDFからCSV",
"PDF to Excel": "PDFからExcel",
"PDF to Greyscale": "PDFのグレースケール化",
"PDF to JPG": "PDFからJPG",
"PDF to JSON": "PDFからJSON",
"PDF to Markdown": "PDFからマークダウン",
"PDF to PDF/A": "PDFからPDF/A",
"PDF to PNG": "PDFからPNG",
"PDF to SVG": "PDFからSVG",
"PDF to Text": "PDFからテキスト",
"PDF to TIFF": "PDFからTIFF",
"PDF to WebP": "PDFからWebP",
"PDF to Word": "PDFからWord",
"PDF Workflow Builder": "PDFワークフロービルダー",
"PDFs to ZIP": "PDFからZIP",
"PNG to PDF": "PNGからPDF",
"Posterize PDF": "PDFのポスタライズ",
"PowerPoint to PDF": "PowerPointからPDF",
"Prepare PDF for AI": "AI用のPDFを準備する",
"Previous page": "前のページ",
"Protect PDF": "PDFの保護",
"PSD to PDF": "PSDからPDF",
"PUB to PDF": "PUBからPDF",
"Rasterize PDF": "PDFの画像化",
"Remove Annotations": "注釈の削除",
"Remove Blank Pages": "空白ページの削除",
"Remove Metadata": "メタデータの削除",
"Remove Restrictions": "制限の解除",
"Repair PDF": "PDFの修復",
"Reset search": "検索をリセット",
"Return to top": "トップに戻る",
"Reverse Pages": "ページの反転",
"Rotate by Custom Degrees": "任意の角度で回転",
"Rotate PDF": "PDFの回転",
"RTF to PDF": "RTFからPDF",
"Sanitize PDF": "PDFをサニタイズ",
"Scanner Effect": "スキャナー効果",
"Search": "検索",
"Secure PDF": "PDFのセキュリティ",
"Self-Hosting": "セルフホスティング",
"Self-Hosting Guide": "セルフホスティングガイド",
"Sign PDF": "PDFへ署名",
"Skip to content": "コンテンツへスキップ",
"Split PDF": "PDFの分割",
"SVG to PDF": "SVGからPDF",
"Switch to dark theme": "ダークテーマに切り替え",
"Switch to light theme": "ライトテーマに切り替え",
"Table of Contents": "目次",
"Text to PDF": "テキストからPDF",
"TIFF to PDF": "TIFFからPDF",
"to close": "閉じる",
"to navigate": "移動",
"to select": "選択",
"Tools": "ツール",
"Tools Reference": "ツールリファレンス",
"Unlock PDF": "PDFのロック解除",
"Validate Signature": "PDF署名を検証する",
"Vercel": "Vercel",
"View Metadata": "メタデータの表示",
"VSD to PDF": "VSDからPDF",
"WebP to PDF": "WebPからPDF",
"Word to PDF": "WordからPDF",
"WPD to PDF": "WPDからPDF",
"WPS to PDF": "WPSからPDF",
"XML to PDF": "XMLからPDF",
"XPS to PDF": "XPSからPDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "첨부파일 추가",
"Add Blank Page": "빈 페이지 추가",
"Add Page Labels": "페이지 레이블 추가",
"Add Stamps": "도장 추가",
"Add Watermark": "워터마크 추가",
"Adjust Colors": "색상 조정",
"Alternate & Mix Pages": "페이지 교차 병합",
"Apache": "Apache",
"Appearance": "모양",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "배경색 변경",
"Bates Numbering": "베이츠 번호 매기기",
"BMP to PDF": "BMP를 PDF로",
"CBZ to PDF": "CBZ를 PDF로",
"Change language": "언어 변경",
"Change Permissions": "권한 변경",
"Change Text Color": "텍스트 색상 변경",
"Close search": "검색 닫기",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "한 페이지로 합치기",
"Commercial License": "상용 라이선스",
"Compare PDFs": "PDF 비교",
"Compress PDF": "PDF 압축",
"Contributing": "기여하기",
"Convert from PDF": "PDF에서 변환",
"Convert to PDF": "PDF로 변환",
"Create PDF Form": "PDF 양식 만들기",
"Crop PDF": "PDF 자르기",
"CSV to PDF": "CSV를 PDF로",
"Delete Pages": "페이지 삭제",
"Deskew PDF": "PDF 기울기 보정",
"Digital Signature": "PDF 디지털 서명",
"Display detailed list": "자세한 목록 표시",
"Divide Pages": "페이지 분할",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "BentoPDF 문서 - 무료 오픈소스, 개인정보 보호 중심 PDF 도구 모음",
"Dual-licensed under AGPL-3.0 and Commercial License.": "AGPL-3.0과 상용 라이선스의 이중 라이선스로 제공됩니다.",
"Duplex Collate": "양면 스캔 정렬",
"Edit & Annotate": "편집 및 주석",
"Edit Attachments": "첨부파일 편집",
"Edit Bookmarks": "북마크 편집",
"Edit Metadata": "메타데이터 편집",
"Email to PDF": "이메일을 PDF로",
"EPUB to PDF": "EPUB를 PDF로",
"Excel to PDF": "Excel을 PDF로",
"Extract Attachments": "첨부파일 추출",
"Extract Images": "이미지 추출",
"Extract Pages": "페이지 추출",
"Extract Tables": "PDF 표 추출",
"FB2 to PDF": "FB2를 PDF로",
"Fix Page Size": "페이지 크기 통일",
"Flatten PDF": "PDF 평탄화",
"Font to Outline": "폰트 윤곽선 변환",
"Getting Started": "시작하기",
"Guide": "가이드",
"Header & Footer": "머리글 및 바닥글",
"HEIC to PDF": "HEIC를 PDF로",
"Home": "홈",
"Hostinger": "Hostinger",
"Images to PDF": "이미지를 PDF로",
"Invert Colors": "색상 반전",
"JPG to PDF": "JPG를 PDF로",
"JSON to PDF": "JSON을 PDF로",
"Linearize PDF": "PDF 선형화",
"Markdown to PDF": "Markdown을 PDF로",
"Menu": "메뉴",
"Merge PDF": "PDF 병합",
"MOBI to PDF": "MOBI를 PDF로",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "다음 페이지",
"Nginx": "Nginx",
"No results for": "검색 결과 없음:",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG를 PDF로",
"ODP to PDF": "ODP를 PDF로",
"ODS to PDF": "ODS를 PDF로",
"ODT to PDF": "ODT를 PDF로",
"On this page": "이 페이지의 내용",
"Optimize & Repair": "최적화 및 복구",
"Organize & Duplicate": "복제 및 정리",
"Organize & Manage": "정리 및 관리",
"Overview": "개요",
"Page Dimensions": "페이지 크기 정보",
"Page Numbers": "페이지 번호",
"PDF Booklet": "PDF 소책자",
"PDF Editor": "PDF 편집기",
"PDF Form Filler": "PDF 양식 작성",
"PDF Multi Tool": "PDF 멀티 도구",
"PDF OCG": "PDF OCG",
"PDF to BMP": "PDF를 BMP로",
"PDF to CBZ": "PDF를 CBZ로",
"PDF to CSV": "PDF를 CSV로",
"PDF to Excel": "PDF를 Excel로",
"PDF to Greyscale": "PDF 흑백 변환",
"PDF to JPG": "PDF를 JPG로",
"PDF to JSON": "PDF를 JSON으로",
"PDF to Markdown": "PDF를 Markdown으로",
"PDF to PDF/A": "PDF를 PDF/A로",
"PDF to PNG": "PDF를 PNG로",
"PDF to SVG": "PDF를 SVG로",
"PDF to Text": "PDF를 텍스트로",
"PDF to TIFF": "PDF를 TIFF로",
"PDF to WebP": "PDF를 WebP로",
"PDF to Word": "PDF를 Word로",
"PDF Workflow Builder": "PDF 워크플로우 빌더",
"PDFs to ZIP": "PDF를 ZIP으로",
"PNG to PDF": "PNG를 PDF로",
"Posterize PDF": "PDF 포스터화",
"PowerPoint to PDF": "PowerPoint를 PDF로",
"Prepare PDF for AI": "AI용 PDF 준비",
"Previous page": "이전 페이지",
"Protect PDF": "PDF 보호",
"PSD to PDF": "PSD를 PDF로",
"PUB to PDF": "PUB를 PDF로",
"Rasterize PDF": "PDF 래스터화",
"Remove Annotations": "주석 제거",
"Remove Blank Pages": "빈 페이지 제거",
"Remove Metadata": "메타데이터 제거",
"Remove Restrictions": "제한 해제",
"Repair PDF": "PDF 복구",
"Reset search": "검색 초기화",
"Return to top": "맨 위로",
"Reverse Pages": "페이지 역순 정렬",
"Rotate by Custom Degrees": "사용자 지정 각도 회전",
"Rotate PDF": "PDF 회전",
"RTF to PDF": "RTF를 PDF로",
"Sanitize PDF": "PDF 정리",
"Scanner Effect": "스캔 효과",
"Search": "검색",
"Secure PDF": "PDF 보안",
"Self-Hosting": "자체 호스팅",
"Self-Hosting Guide": "자체 호스팅 가이드",
"Sign PDF": "PDF 서명",
"Skip to content": "본문으로 건너뛰기",
"Split PDF": "PDF 분할",
"SVG to PDF": "SVG를 PDF로",
"Switch to dark theme": "다크 테마로 전환",
"Switch to light theme": "라이트 테마로 전환",
"Table of Contents": "목차 생성",
"Text to PDF": "텍스트를 PDF로",
"TIFF to PDF": "TIFF를 PDF로",
"to close": "닫기",
"to navigate": "이동",
"to select": "선택",
"Tools": "도구",
"Tools Reference": "도구 참조",
"Unlock PDF": "PDF 잠금 해제",
"Validate Signature": "PDF 서명 검증",
"Vercel": "Vercel",
"View Metadata": "메타데이터 보기",
"VSD to PDF": "VSD를 PDF로",
"WebP to PDF": "WebP를 PDF로",
"Word to PDF": "Word를 PDF로",
"WPD to PDF": "WPD를 PDF로",
"WPS to PDF": "WPS를 PDF로",
"XML to PDF": "XML을 PDF로",
"XPS to PDF": "XPS를 PDF로"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Bijlagen toevoegen",
"Add Blank Page": "Blanco pagina toevoegen",
"Add Page Labels": "Paginalabels toevoegen",
"Add Stamps": "Stempels toevoegen",
"Add Watermark": "Watermerk toevoegen",
"Adjust Colors": "Kleuren aanpassen",
"Alternate & Mix Pages": "Pagina's afwisselen en mixen",
"Apache": "Apache",
"Appearance": "Weergave",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Achtergrondkleur",
"Bates Numbering": "Bates-nummering",
"BMP to PDF": "BMP naar PDF",
"CBZ to PDF": "CBZ naar PDF",
"Change language": "Taal wijzigen",
"Change Permissions": "Rechten aanpassen",
"Change Text Color": "Tekstkleur",
"Close search": "Zoeken sluiten",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Combineren tot één pagina",
"Commercial License": "Commerciële licentie",
"Compare PDFs": "PDF's vergelijken",
"Compress PDF": "PDF comprimeren",
"Contributing": "Bijdragen",
"Convert from PDF": "Converteren van PDF",
"Convert to PDF": "Converteren naar PDF",
"Create PDF Form": "PDF-formulier aanmaken",
"Crop PDF": "PDF bijsnijden",
"CSV to PDF": "CSV naar PDF",
"Delete Pages": "Pagina's verwijderen",
"Deskew PDF": "PDF rechttrekken",
"Digital Signature": "Digitale handtekening",
"Display detailed list": "Gedetailleerde lijst tonen",
"Divide Pages": "Pagina's opdelen",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Documentatie voor BentoPDF - De gratis, open-source PDF-toolkit met privacy voorop",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Dubbel gelicentieerd onder AGPL-3.0 en een commerciële licentie.",
"Duplex Collate": "Dubbelzijdige scan sorteren",
"Edit & Annotate": "Bewerken & Annoteren",
"Edit Attachments": "Bijlagen bewerken",
"Edit Bookmarks": "Bladwijzers bewerken",
"Edit Metadata": "Metadata bewerken",
"Email to PDF": "E-mail naar PDF",
"EPUB to PDF": "EPUB naar PDF",
"Excel to PDF": "Excel naar PDF",
"Extract Attachments": "Bijlagen extraheren",
"Extract Images": "Afbeeldingen extraheren",
"Extract Pages": "Pagina's extraheren",
"Extract Tables": "PDF-tabellen Extraheren",
"FB2 to PDF": "FB2 naar PDF",
"Fix Page Size": "Paginagrootte corrigeren",
"Flatten PDF": "PDF platmaken",
"Font to Outline": "Lettertype naar contouren",
"Getting Started": "Aan de slag",
"Guide": "Gids",
"Header & Footer": "Koptekst en voettekst",
"HEIC to PDF": "HEIC naar PDF",
"Home": "Startpagina",
"Hostinger": "Hostinger",
"Images to PDF": "Afbeelding naar PDF",
"Invert Colors": "Kleuren omkeren",
"JPG to PDF": "JPG naar PDF",
"JSON to PDF": "JSON naar PDF",
"Linearize PDF": "PDF lineariseren",
"Markdown to PDF": "Markdown naar PDF",
"Menu": "Menu",
"Merge PDF": "PDF samenvoegen",
"MOBI to PDF": "MOBI naar PDF",
"N-Up PDF": "N-up PDF",
"Netlify": "Netlify",
"Next page": "Volgende pagina",
"Nginx": "Nginx",
"No results for": "Geen resultaten voor",
"OCR PDF": "PDF OCR",
"ODG to PDF": "ODG naar PDF",
"ODP to PDF": "ODP naar PDF",
"ODS to PDF": "ODS naar PDF",
"ODT to PDF": "ODT naar PDF",
"On this page": "Op deze pagina",
"Optimize & Repair": "Optimaliseren & Repareren",
"Organize & Duplicate": "Dupliceren & Organiseren",
"Organize & Manage": "Organiseren & Beheren",
"Overview": "Overzicht",
"Page Dimensions": "Paginaafmetingen",
"Page Numbers": "Paginanummers",
"PDF Booklet": "PDF-boekje",
"PDF Editor": "PDF bewerken",
"PDF Form Filler": "PDF-formulier invullen",
"PDF Multi Tool": "PDF-multitool",
"PDF OCG": "PDF-lagen (OCG)",
"PDF to BMP": "PDF naar BMP",
"PDF to CBZ": "PDF naar CBZ",
"PDF to CSV": "PDF naar CSV",
"PDF to Excel": "PDF naar Excel",
"PDF to Greyscale": "PDF naar grijswaarden",
"PDF to JPG": "PDF naar JPG",
"PDF to JSON": "PDF naar JSON",
"PDF to Markdown": "PDF naar Markdown",
"PDF to PDF/A": "PDF naar PDF/A",
"PDF to PNG": "PDF naar PNG",
"PDF to SVG": "PDF naar SVG",
"PDF to Text": "PDF naar tekst",
"PDF to TIFF": "PDF naar TIFF",
"PDF to WebP": "PDF naar WebP",
"PDF to Word": "PDF naar Word",
"PDF Workflow Builder": "PDF-workflowbouwer",
"PDFs to ZIP": "PDF's naar ZIP",
"PNG to PDF": "PNG naar PDF",
"Posterize PDF": "PDF-poster",
"PowerPoint to PDF": "PowerPoint naar PDF",
"Prepare PDF for AI": "PDF voorbereiden voor AI",
"Previous page": "Vorige pagina",
"Protect PDF": "PDF beveiligen",
"PSD to PDF": "PSD naar PDF",
"PUB to PDF": "PUB naar PDF",
"Rasterize PDF": "PDF rasteren",
"Remove Annotations": "Annotaties verwijderen",
"Remove Blank Pages": "Blanco pagina's verwijderen",
"Remove Metadata": "Metadata verwijderen",
"Remove Restrictions": "Beperkingen verwijderen",
"Repair PDF": "PDF repareren",
"Reset search": "Zoekopdracht wissen",
"Return to top": "Terug naar boven",
"Reverse Pages": "Paginavolgorde omkeren",
"Rotate by Custom Degrees": "Roteren met aangepaste hoek",
"Rotate PDF": "PDF roteren",
"RTF to PDF": "RTF naar PDF",
"Sanitize PDF": "PDF opschonen",
"Scanner Effect": "Scannereffect",
"Search": "Zoeken",
"Secure PDF": "PDF Beveiligen",
"Self-Hosting": "Zelf hosten",
"Self-Hosting Guide": "Gids voor zelf hosten",
"Sign PDF": "PDF ondertekenen",
"Skip to content": "Naar inhoud springen",
"Split PDF": "PDF splitsen",
"SVG to PDF": "SVG naar PDF",
"Switch to dark theme": "Overschakelen naar donker thema",
"Switch to light theme": "Overschakelen naar licht thema",
"Table of Contents": "Inhoudsopgave",
"Text to PDF": "Tekst naar PDF",
"TIFF to PDF": "TIFF naar PDF",
"to close": "om te sluiten",
"to navigate": "om te navigeren",
"to select": "om te selecteren",
"Tools": "Tools",
"Tools Reference": "Toolsoverzicht",
"Unlock PDF": "PDF ontgrendelen",
"Validate Signature": "PDF-handtekening Valideren",
"Vercel": "Vercel",
"View Metadata": "Metadata weergeven",
"VSD to PDF": "VSD naar PDF",
"WebP to PDF": "WebP naar PDF",
"Word to PDF": "Word naar PDF",
"WPD to PDF": "WPD naar PDF",
"WPS to PDF": "WPS naar PDF",
"XML to PDF": "XML naar PDF",
"XPS to PDF": "XPS naar PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Dodaj załączniki",
"Add Blank Page": "Dodaj pustą stronę",
"Add Page Labels": "Dodaj etykiety stron",
"Add Stamps": "Dodaj pieczątki",
"Add Watermark": "Dodaj znak wodny",
"Adjust Colors": "Dostosuj kolory",
"Alternate & Mix Pages": "Naprzemienne i mieszane strony",
"Apache": "Apache",
"Appearance": "Wygląd",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Kolor tła",
"Bates Numbering": "Numeracja Batesa",
"BMP to PDF": "BMP na PDF",
"CBZ to PDF": "CBZ na PDF",
"Change language": "Zmień język",
"Change Permissions": "Zmień uprawnienia",
"Change Text Color": "Zmień kolor tekstu",
"Close search": "Zamknij wyszukiwanie",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Połącz w jedną stronę",
"Commercial License": "Licencja komercyjna",
"Compare PDFs": "Porównaj PDF",
"Compress PDF": "Kompresuj PDF",
"Contributing": "Współtworzenie",
"Convert from PDF": "Konwertuj z PDF",
"Convert to PDF": "Konwertuj do PDF",
"Create PDF Form": "Utwórz formularz PDF",
"Crop PDF": "Przytnij PDF",
"CSV to PDF": "CSV na PDF",
"Delete Pages": "Usuń strony",
"Deskew PDF": "Wyprostuj PDF",
"Digital Signature": "Podpis cyfrowy",
"Display detailed list": "Wyświetl szczegółową listę",
"Divide Pages": "Podziel strony",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Dokumentacja BentoPDF: darmowy zestaw narzędzi PDF o otwartym kodzie źródłowym, stworzony z myślą o prywatności",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Podwójna licencja: AGPL-3.0 i licencja komercyjna.",
"Duplex Collate": "Sortowanie skanu dwustronnego",
"Edit & Annotate": "Edycja i adnotacje",
"Edit Attachments": "Edytuj załączniki",
"Edit Bookmarks": "Edytuj zakładki",
"Edit Metadata": "Edytuj metadane",
"Email to PDF": "E-mail na PDF",
"EPUB to PDF": "EPUB na PDF",
"Excel to PDF": "Excel na PDF",
"Extract Attachments": "Wyodrębnij załączniki",
"Extract Images": "Wyodrębnij obrazy",
"Extract Pages": "Wyodrębnij strony",
"Extract Tables": "Wyodrębnij tabele",
"FB2 to PDF": "FB2 na PDF",
"Fix Page Size": "Napraw rozmiar strony",
"Flatten PDF": "Spłaszcz PDF",
"Font to Outline": "Czcionka na krzywe",
"Getting Started": "Pierwsze kroki",
"Guide": "Przewodnik",
"Header & Footer": "Nagłówek i stopka",
"HEIC to PDF": "HEIC na PDF",
"Home": "Strona główna",
"Hostinger": "Hostinger",
"Images to PDF": "Obrazy do PDF",
"Invert Colors": "Odwróć kolory",
"JPG to PDF": "JPG na PDF",
"JSON to PDF": "JSON na PDF",
"Linearize PDF": "Linearyzuj PDF",
"Markdown to PDF": "Markdown na PDF",
"Menu": "Menu",
"Merge PDF": "Połącz PDF",
"MOBI to PDF": "MOBI na PDF",
"N-Up PDF": "PDF N-Up",
"Netlify": "Netlify",
"Next page": "Następna strona",
"Nginx": "Nginx",
"No results for": "Brak wyników dla",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG na PDF",
"ODP to PDF": "ODP na PDF",
"ODS to PDF": "ODS na PDF",
"ODT to PDF": "ODT na PDF",
"On this page": "Na tej stronie",
"Optimize & Repair": "Optymalizacja i naprawa",
"Organize & Duplicate": "Organizacja i duplikowanie",
"Organize & Manage": "Organizacja i zarządzanie",
"Overview": "Przegląd",
"Page Dimensions": "Wymiary strony",
"Page Numbers": "Numery stron",
"PDF Booklet": "Broszura PDF",
"PDF Editor": "Edytor PDF",
"PDF Form Filler": "Wypełnianie formularzy PDF",
"PDF Multi Tool": "Wielofunkcyjne narzędzie PDF",
"PDF OCG": "Warstwy PDF (OCG)",
"PDF to BMP": "PDF na BMP",
"PDF to CBZ": "PDF na CBZ",
"PDF to CSV": "PDF na CSV",
"PDF to Excel": "PDF na Excel",
"PDF to Greyscale": "PDF na odcienie szarości",
"PDF to JPG": "PDF na JPG",
"PDF to JSON": "PDF na JSON",
"PDF to Markdown": "PDF na Markdown",
"PDF to PDF/A": "PDF na PDF/A",
"PDF to PNG": "PDF na PNG",
"PDF to SVG": "PDF na SVG",
"PDF to Text": "PDF na tekst",
"PDF to TIFF": "PDF na TIFF",
"PDF to WebP": "PDF na WebP",
"PDF to Word": "PDF na Word",
"PDF Workflow Builder": "Kreator przepływów PDF",
"PDFs to ZIP": "PDF na ZIP",
"PNG to PDF": "PNG na PDF",
"Posterize PDF": "Plakatowanie PDF",
"PowerPoint to PDF": "PowerPoint na PDF",
"Prepare PDF for AI": "Przygotuj PDF dla AI",
"Previous page": "Poprzednia strona",
"Protect PDF": "Zabezpiecz PDF",
"PSD to PDF": "PSD na PDF",
"PUB to PDF": "PUB na PDF",
"Rasterize PDF": "Rasteryzuj PDF",
"Remove Annotations": "Usuń adnotacje",
"Remove Blank Pages": "Usuń puste strony",
"Remove Metadata": "Usuń metadane",
"Remove Restrictions": "Usuń restrykcje",
"Repair PDF": "Napraw PDF",
"Reset search": "Wyczyść wyszukiwanie",
"Return to top": "Wróć na górę",
"Reverse Pages": "Odwróć strony",
"Rotate by Custom Degrees": "Obróć o niestandardowy kąt",
"Rotate PDF": "Obróć PDF",
"RTF to PDF": "RTF na PDF",
"Sanitize PDF": "Sanityzuj PDF",
"Scanner Effect": "Efekt skanera",
"Search": "Szukaj",
"Secure PDF": "Zabezpiecz PDF",
"Self-Hosting": "Własny hosting",
"Self-Hosting Guide": "Przewodnik po własnym hostingu",
"Sign PDF": "Podpisz PDF",
"Skip to content": "Przejdź do treści",
"Split PDF": "Podziel PDF",
"SVG to PDF": "SVG na PDF",
"Switch to dark theme": "Przełącz na ciemny motyw",
"Switch to light theme": "Przełącz na jasny motyw",
"Table of Contents": "Spis treści",
"Text to PDF": "Tekst na PDF",
"TIFF to PDF": "TIFF na PDF",
"to close": "aby zamknąć",
"to navigate": "aby nawigować",
"to select": "aby wybrać",
"Tools": "Narzędzia",
"Tools Reference": "Opis narzędzi",
"Unlock PDF": "Odblokuj PDF",
"Validate Signature": "Zweryfikuj podpis",
"Vercel": "Vercel",
"View Metadata": "Wyświetl metadane",
"VSD to PDF": "VSD na PDF",
"WebP to PDF": "WebP na PDF",
"Word to PDF": "Word na PDF",
"WPD to PDF": "WPD na PDF",
"WPS to PDF": "WPS na PDF",
"XML to PDF": "XML na PDF",
"XPS to PDF": "XPS na PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Adicionar anexos",
"Add Blank Page": "Adicionar página em branco",
"Add Page Labels": "Adicionar rótulos de página",
"Add Stamps": "Adicionar carimbos",
"Add Watermark": "Adicionar marca d'água",
"Adjust Colors": "Ajustar cores",
"Alternate & Mix Pages": "Alternar e misturar páginas",
"Apache": "Apache",
"Appearance": "Aparência",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Cor de fundo",
"Bates Numbering": "Numeração Bates",
"BMP to PDF": "BMP para PDF",
"CBZ to PDF": "CBZ para PDF",
"Change language": "Mudar idioma",
"Change Permissions": "Alterar permissões",
"Change Text Color": "Alterar cor do texto",
"Close search": "Fechar busca",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Combinar em página única",
"Commercial License": "Licença comercial",
"Compare PDFs": "Comparar PDFs",
"Compress PDF": "Comprimir PDF",
"Contributing": "Contribuir",
"Convert from PDF": "Converter de PDF",
"Convert to PDF": "Converter para PDF",
"Create PDF Form": "Criar formulário PDF",
"Crop PDF": "Cortar PDF",
"CSV to PDF": "CSV para PDF",
"Delete Pages": "Excluir páginas",
"Deskew PDF": "Desinclinar PDF",
"Digital Signature": "Assinatura Digital",
"Display detailed list": "Exibir lista detalhada",
"Divide Pages": "Dividir páginas",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Documentação do BentoPDF: o kit de ferramentas PDF gratuito, de código aberto e focado em privacidade",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Licenciado em dupla licença: AGPL-3.0 e Licença Comercial.",
"Duplex Collate": "Intercalar digitalização frente e verso",
"Edit & Annotate": "Editar e Anotar",
"Edit Attachments": "Editar anexos",
"Edit Bookmarks": "Editar marcadores",
"Edit Metadata": "Editar metadados",
"Email to PDF": "E-mail para PDF",
"EPUB to PDF": "EPUB para PDF",
"Excel to PDF": "Excel para PDF",
"Extract Attachments": "Extrair anexos",
"Extract Images": "Extrair imagens",
"Extract Pages": "Extrair páginas",
"Extract Tables": "Extrair Tabelas",
"FB2 to PDF": "FB2 para PDF",
"Fix Page Size": "Ajustar tamanho da página",
"Flatten PDF": "Achatar PDF",
"Font to Outline": "Fonte para contorno",
"Getting Started": "Primeiros Passos",
"Guide": "Guia",
"Header & Footer": "Cabeçalho e rodapé",
"HEIC to PDF": "HEIC para PDF",
"Home": "Início",
"Hostinger": "Hostinger",
"Images to PDF": "Imagens para PDF",
"Invert Colors": "Inverter cores",
"JPG to PDF": "JPG para PDF",
"JSON to PDF": "JSON para PDF",
"Linearize PDF": "Linearizar PDF",
"Markdown to PDF": "Markdown para PDF",
"Menu": "Menu",
"Merge PDF": "Mesclar PDF",
"MOBI to PDF": "MOBI para PDF",
"N-Up PDF": "PDF N-Up",
"Netlify": "Netlify",
"Next page": "Próxima página",
"Nginx": "Nginx",
"No results for": "Nenhum resultado para",
"OCR PDF": "OCR em PDF",
"ODG to PDF": "ODG para PDF",
"ODP to PDF": "ODP para PDF",
"ODS to PDF": "ODS para PDF",
"ODT to PDF": "ODT para PDF",
"On this page": "Nesta página",
"Optimize & Repair": "Otimizar e Reparar",
"Organize & Duplicate": "Duplicar e Organizar",
"Organize & Manage": "Organizar e Gerenciar",
"Overview": "Visão geral",
"Page Dimensions": "Dimensões da página",
"Page Numbers": "Números de página",
"PDF Booklet": "Livreto PDF",
"PDF Editor": "Editor de PDF",
"PDF Form Filler": "Preenchimento de formulário PDF",
"PDF Multi Tool": "Multiferramenta PDF",
"PDF OCG": "Camadas de PDF (OCG)",
"PDF to BMP": "PDF para BMP",
"PDF to CBZ": "PDF para CBZ",
"PDF to CSV": "PDF para CSV",
"PDF to Excel": "PDF para Excel",
"PDF to Greyscale": "PDF para tons de cinza",
"PDF to JPG": "PDF para JPG",
"PDF to JSON": "PDF para JSON",
"PDF to Markdown": "PDF para Markdown",
"PDF to PDF/A": "PDF para PDF/A",
"PDF to PNG": "PDF para PNG",
"PDF to SVG": "PDF para SVG",
"PDF to Text": "PDF para texto",
"PDF to TIFF": "PDF para TIFF",
"PDF to WebP": "PDF para WebP",
"PDF to Word": "PDF para Word",
"PDF Workflow Builder": "Construtor de fluxo de trabalho PDF",
"PDFs to ZIP": "PDFs para ZIP",
"PNG to PDF": "PNG para PDF",
"Posterize PDF": "Posterizar PDF",
"PowerPoint to PDF": "PowerPoint para PDF",
"Prepare PDF for AI": "Preparar PDF para IA",
"Previous page": "Página anterior",
"Protect PDF": "Proteger PDF",
"PSD to PDF": "PSD para PDF",
"PUB to PDF": "PUB para PDF",
"Rasterize PDF": "Rasterizar PDF",
"Remove Annotations": "Remover anotações",
"Remove Blank Pages": "Remover páginas em branco",
"Remove Metadata": "Remover metadados",
"Remove Restrictions": "Remover restrições",
"Repair PDF": "Reparar PDF",
"Reset search": "Limpar busca",
"Return to top": "Voltar ao topo",
"Reverse Pages": "Inverter ordem das páginas",
"Rotate by Custom Degrees": "Girar em graus personalizados",
"Rotate PDF": "Girar PDF",
"RTF to PDF": "RTF para PDF",
"Sanitize PDF": "Sanitizar PDF",
"Scanner Effect": "Efeito scanner",
"Search": "Buscar",
"Secure PDF": "Proteger PDF",
"Self-Hosting": "Hospedagem Própria",
"Self-Hosting Guide": "Guia de Hospedagem Própria",
"Sign PDF": "Assinar PDF",
"Skip to content": "Pular para o conteúdo",
"Split PDF": "Dividir PDF",
"SVG to PDF": "SVG para PDF",
"Switch to dark theme": "Mudar para o tema escuro",
"Switch to light theme": "Mudar para o tema claro",
"Table of Contents": "Sumário",
"Text to PDF": "Texto para PDF",
"TIFF to PDF": "TIFF para PDF",
"to close": "para fechar",
"to navigate": "para navegar",
"to select": "para selecionar",
"Tools": "Ferramentas",
"Tools Reference": "Referência de Ferramentas",
"Unlock PDF": "Desbloquear PDF",
"Validate Signature": "Validar Assinatura",
"Vercel": "Vercel",
"View Metadata": "Ver metadados",
"VSD to PDF": "VSD para PDF",
"WebP to PDF": "WebP para PDF",
"Word to PDF": "Word para PDF",
"WPD to PDF": "WPD para PDF",
"WPS to PDF": "WPS para PDF",
"XML to PDF": "XML para PDF",
"XPS to PDF": "XPS para PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Добавление вложений",
"Add Blank Page": "Добавление пустой страницы",
"Add Page Labels": "Добавить метки страниц",
"Add Stamps": "Добавление штампов",
"Add Watermark": "Добавление водяных знаков",
"Adjust Colors": "Настройка цвета",
"Alternate & Mix Pages": "Объединение документов с чередованием страниц",
"Apache": "Apache",
"Appearance": "Оформление",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Цвет фона",
"Bates Numbering": "Bates-нумерация",
"BMP to PDF": "BMP в PDF",
"CBZ to PDF": "CBZ в PDF",
"Change language": "Сменить язык",
"Change Permissions": "Изменение разрешений",
"Change Text Color": "Изменение цвета текста",
"Close search": "Закрыть поиск",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Объединение в одну страницу",
"Commercial License": "Коммерческая лицензия",
"Compare PDFs": "Сравнение документов",
"Compress PDF": "Сжатие PDF",
"Contributing": "Участие в разработке",
"Convert from PDF": "Конвертация из PDF",
"Convert to PDF": "Конвертация в PDF",
"Create PDF Form": "Создание PDF-форм",
"Crop PDF": "Обрезка PDF",
"CSV to PDF": "CSV в PDF",
"Delete Pages": "Удаление страниц",
"Deskew PDF": "Выпрямление PDF",
"Digital Signature": "Цифровая подпись PDF",
"Display detailed list": "Показать подробный список",
"Divide Pages": "Разделение страниц",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Документация BentoPDF: бесплатный набор PDF-инструментов с открытым исходным кодом и приоритетом приватности",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Двойное лицензирование: AGPL-3.0 и коммерческая лицензия.",
"Duplex Collate": "Сортировка двустороннего сканирования",
"Edit & Annotate": "Редактирование и добавление примечаний",
"Edit Attachments": "Редактирование вложений",
"Edit Bookmarks": "Редактирование закладок",
"Edit Metadata": "Редактирование метаданных",
"Email to PDF": "Email в PDF",
"EPUB to PDF": "EPUB в PDF",
"Excel to PDF": "Excel в PDF",
"Extract Attachments": "Извлечение вложений",
"Extract Images": "Извлечение изображений",
"Extract Pages": "Извлечение страниц",
"Extract Tables": "Извлечение таблиц из PDF",
"FB2 to PDF": "FB2 в PDF",
"Fix Page Size": "Редактор размера страниц",
"Flatten PDF": "Сведение документа",
"Font to Outline": "Шрифты в кривые",
"Getting Started": "Начало работы",
"Guide": "Руководство",
"Header & Footer": "Колонтитулы",
"HEIC to PDF": "HEIC в PDF",
"Home": "Главная",
"Hostinger": "Hostinger",
"Images to PDF": "Изображения в PDF",
"Invert Colors": "Инверсия цвета",
"JPG to PDF": "JPG в PDF",
"JSON to PDF": "JSON в PDF",
"Linearize PDF": "Линеаризация документа",
"Markdown to PDF": "Markdown в PDF",
"Menu": "Меню",
"Merge PDF": "Объединение PDF",
"MOBI to PDF": "MOBI в PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "Следующая страница",
"Nginx": "Nginx",
"No results for": "Нет результатов для",
"OCR PDF": "Распознавание текста в PDF",
"ODG to PDF": "ODG в PDF",
"ODP to PDF": "ODP в PDF",
"ODS to PDF": "ODS в PDF",
"ODT to PDF": "ODT в PDF",
"On this page": "На этой странице",
"Optimize & Repair": "Оптимизация и восстановление",
"Organize & Duplicate": "Дублирование и организация",
"Organize & Manage": "Организация и управление",
"Overview": "Обзор",
"Page Dimensions": "Размеры страниц",
"Page Numbers": "Нумерация страниц",
"PDF Booklet": "PDF-буклет",
"PDF Editor": "Редактор PDF",
"PDF Form Filler": "Заполнение PDF-форм",
"PDF Multi Tool": "PDF мультиинструмент",
"PDF OCG": "PDF OCG",
"PDF to BMP": "PDF в BMP",
"PDF to CBZ": "PDF в CBZ",
"PDF to CSV": "PDF в CSV",
"PDF to Excel": "PDF в Excel",
"PDF to Greyscale": "PDF в оттенки серого",
"PDF to JPG": "PDF в JPG",
"PDF to JSON": "PDF в JSON",
"PDF to Markdown": "PDF в Markdown",
"PDF to PDF/A": "PDF в PDF/A",
"PDF to PNG": "PDF в PNG",
"PDF to SVG": "PDF в SVG",
"PDF to Text": "PDF в текст",
"PDF to TIFF": "PDF в TIFF",
"PDF to WebP": "PDF в WebP",
"PDF to Word": "PDF в Word",
"PDF Workflow Builder": "Конструктор PDF-процессов",
"PDFs to ZIP": "PDF в ZIP",
"PNG to PDF": "PNG в PDF",
"Posterize PDF": "Постеризация документа",
"PowerPoint to PDF": "PowerPoint в PDF",
"Prepare PDF for AI": "Подготовка PDF для ИИ",
"Previous page": "Предыдущая страница",
"Protect PDF": "Защита PDF",
"PSD to PDF": "PSD в PDF",
"PUB to PDF": "PUB в PDF",
"Rasterize PDF": "Растеризация документа",
"Remove Annotations": "Удаление аннотаций",
"Remove Blank Pages": "Удаление пустых страниц",
"Remove Metadata": "Удаление метаданных",
"Remove Restrictions": "Снятие ограничений",
"Repair PDF": "Восстановление документа",
"Reset search": "Сбросить поиск",
"Return to top": "Вернуться наверх",
"Reverse Pages": "Обращение порядка страниц",
"Rotate by Custom Degrees": "Поворот на заданное количество градусов",
"Rotate PDF": "Поворот PDF",
"RTF to PDF": "RTF в PDF",
"Sanitize PDF": "Санирование документа",
"Scanner Effect": "Эффект сканера",
"Search": "Поиск",
"Secure PDF": "Защита PDF",
"Self-Hosting": "Самостоятельный хостинг",
"Self-Hosting Guide": "Руководство по самостоятельному хостингу",
"Sign PDF": "Подписание PDF",
"Skip to content": "Перейти к содержимому",
"Split PDF": "Разделение PDF",
"SVG to PDF": "SVG в PDF",
"Switch to dark theme": "Переключить на тёмную тему",
"Switch to light theme": "Переключить на светлую тему",
"Table of Contents": "Оглавление",
"Text to PDF": "Текст в PDF",
"TIFF to PDF": "TIFF в PDF",
"to close": "закрыть",
"to navigate": "навигация",
"to select": "выбрать",
"Tools": "Инструменты",
"Tools Reference": "Справочник по инструментам",
"Unlock PDF": "Разблокировка PDF",
"Validate Signature": "Проверка подписи в PDF",
"Vercel": "Vercel",
"View Metadata": "Просмотр метаданных",
"VSD to PDF": "VSD в PDF",
"WebP to PDF": "WebP в PDF",
"Word to PDF": "Word в PDF",
"WPD to PDF": "WPD в PDF",
"WPS to PDF": "WPS в PDF",
"XML to PDF": "XML в PDF",
"XPS to PDF": "XPS в PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Pridať prílohy",
"Add Blank Page": "Pridať prázdnu stranu",
"Add Page Labels": "Pridať označenia strán",
"Add Stamps": "Pridať pečiatky",
"Add Watermark": "Pridať vodoznak",
"Adjust Colors": "Úprava farieb",
"Alternate & Mix Pages": "Striedavo spojiť a zmiešať strany",
"Apache": "Apache",
"Appearance": "Vzhľad",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Farba pozadia",
"Bates Numbering": "Batesovo číslovanie",
"BMP to PDF": "BMP do PDF",
"CBZ to PDF": "CBZ do PDF",
"Change language": "Zmeniť jazyk",
"Change Permissions": "Zmeniť oprávnenia",
"Change Text Color": "Zmeniť farbu textu",
"Close search": "Zavrieť vyhľadávanie",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Spojiť do jednej strany",
"Commercial License": "Komerčná licencia",
"Compare PDFs": "Porovnať PDF",
"Compress PDF": "Komprimovať PDF",
"Contributing": "Prispievanie",
"Convert from PDF": "Konvertovať z PDF",
"Convert to PDF": "Konvertovať do PDF",
"Create PDF Form": "Vytvoriť PDF formulár",
"Crop PDF": "Orezať PDF",
"CSV to PDF": "CSV do PDF",
"Delete Pages": "Odstrániť strany",
"Deskew PDF": "Zarovnať naklonené PDF",
"Digital Signature": "Digitálny podpis",
"Display detailed list": "Zobraziť podrobný zoznam",
"Divide Pages": "Rozdeliť strany",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Dokumentácia k BentoPDF - bezplatná open source sada PDF nástrojov s dôrazom na súkromie",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Duálne licencovaný pod AGPL-3.0 a komerčnou licenciou.",
"Duplex Collate": "Usporiadať obojstranné skenovanie",
"Edit & Annotate": "Úpravy a poznámky",
"Edit Attachments": "Upraviť prílohy",
"Edit Bookmarks": "Upraviť záložky",
"Edit Metadata": "Upraviť metadáta",
"Email to PDF": "E-mail do PDF",
"EPUB to PDF": "EPUB do PDF",
"Excel to PDF": "Excel do PDF",
"Extract Attachments": "Extrahovať prílohy",
"Extract Images": "Extrahovať obrázky",
"Extract Pages": "Extrahovať strany",
"Extract Tables": "Extrahovať tabuľky",
"FB2 to PDF": "FB2 do PDF",
"Fix Page Size": "Zjednotiť veľkosť strán",
"Flatten PDF": "Sploštiť PDF",
"Font to Outline": "Písma do kriviek",
"Getting Started": "Začíname",
"Guide": "Príručka",
"Header & Footer": "Hlavička a pätička",
"HEIC to PDF": "HEIC do PDF",
"Home": "Domov",
"Hostinger": "Hostinger",
"Images to PDF": "Obrázky do PDF",
"Invert Colors": "Invertovať farby",
"JPG to PDF": "JPG do PDF",
"JSON to PDF": "JSON do PDF",
"Linearize PDF": "Linearizovať PDF",
"Markdown to PDF": "Markdown do PDF",
"Menu": "Menu",
"Merge PDF": "Spojiť PDF",
"MOBI to PDF": "MOBI do PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "Nasledujúca strana",
"Nginx": "Nginx",
"No results for": "Žiadne výsledky pre",
"OCR PDF": "Rozpoznávanie textu (OCR) PDF",
"ODG to PDF": "ODG do PDF",
"ODP to PDF": "ODP do PDF",
"ODS to PDF": "ODS do PDF",
"ODT to PDF": "ODT do PDF",
"On this page": "Na tejto stránke",
"Optimize & Repair": "Optimalizácia a oprava",
"Organize & Duplicate": "Usporiadanie a duplikovanie",
"Organize & Manage": "Usporiadanie a správa",
"Overview": "Prehľad",
"Page Dimensions": "Rozmery strany",
"Page Numbers": "Čísla strán",
"PDF Booklet": "PDF brožúra",
"PDF Editor": "Editor PDF",
"PDF Form Filler": "Vypĺňanie PDF formulárov",
"PDF Multi Tool": "Multinástroj PDF",
"PDF OCG": "PDF OCG (vrstvy)",
"PDF to BMP": "PDF do BMP",
"PDF to CBZ": "PDF do CBZ",
"PDF to CSV": "PDF do CSV",
"PDF to Excel": "PDF do Excelu",
"PDF to Greyscale": "PDF do odtieňov sivej",
"PDF to JPG": "PDF do JPG",
"PDF to JSON": "PDF do JSON",
"PDF to Markdown": "PDF do Markdownu",
"PDF to PDF/A": "PDF do PDF/A",
"PDF to PNG": "PDF do PNG",
"PDF to SVG": "PDF do SVG",
"PDF to Text": "PDF do textu",
"PDF to TIFF": "PDF do TIFF",
"PDF to WebP": "PDF do WebP",
"PDF to Word": "PDF do Wordu",
"PDF Workflow Builder": "Tvorca pracovných postupov (Workflow) PDF",
"PDFs to ZIP": "PDF do ZIP",
"PNG to PDF": "PNG do PDF",
"Posterize PDF": "Vytvoriť plagát z PDF",
"PowerPoint to PDF": "PowerPoint do PDF",
"Prepare PDF for AI": "Pripraviť PDF pre AI",
"Previous page": "Predchádzajúca strana",
"Protect PDF": "Chrániť PDF heslom",
"PSD to PDF": "PSD do PDF",
"PUB to PDF": "PUB do PDF",
"Rasterize PDF": "Rastrovať PDF",
"Remove Annotations": "Odstrániť anotácie",
"Remove Blank Pages": "Odstrániť prázdne strany",
"Remove Metadata": "Odstrániť metadáta",
"Remove Restrictions": "Odstrániť obmedzenia",
"Repair PDF": "Opraviť PDF",
"Reset search": "Vynulovať vyhľadávanie",
"Return to top": "Späť hore",
"Reverse Pages": "Obrátiť poradie strán",
"Rotate by Custom Degrees": "Otočiť o vlastné stupne",
"Rotate PDF": "Otočiť PDF",
"RTF to PDF": "RTF do PDF",
"Sanitize PDF": "Vyčistiť PDF",
"Scanner Effect": "Efekt skenera",
"Search": "Hľadať",
"Secure PDF": "Zabezpečiť PDF",
"Self-Hosting": "Vlastný hosting",
"Self-Hosting Guide": "Príručka k vlastnému hostingu",
"Sign PDF": "Podpísať PDF",
"Skip to content": "Preskočiť na obsah",
"Split PDF": "Rozdeliť PDF",
"SVG to PDF": "SVG do PDF",
"Switch to dark theme": "Prepnúť na tmavú tému",
"Switch to light theme": "Prepnúť na svetlú tému",
"Table of Contents": "Obsah",
"Text to PDF": "Text do PDF",
"TIFF to PDF": "TIFF do PDF",
"to close": "zavrieť",
"to navigate": "navigovať",
"to select": "vybrať",
"Tools": "Nástroje",
"Tools Reference": "Prehľad nástrojov",
"Unlock PDF": "Odomknúť PDF",
"Validate Signature": "Overiť podpis",
"Vercel": "Vercel",
"View Metadata": "Zobraziť metadáta",
"VSD to PDF": "VSD do PDF",
"WebP to PDF": "WebP do PDF",
"Word to PDF": "Word do PDF",
"WPD to PDF": "WPD do PDF",
"WPS to PDF": "WPS do PDF",
"XML to PDF": "XML do PDF",
"XPS to PDF": "XPS do PDF"
}
+160
View File
@@ -0,0 +1,160 @@
[
"Add Attachments",
"Add Blank Page",
"Add Page Labels",
"Add Stamps",
"Add Watermark",
"Adjust Colors",
"Alternate & Mix Pages",
"Apache",
"Appearance",
"AWS S3 + CloudFront",
"Background Color",
"Bates Numbering",
"BMP to PDF",
"CBZ to PDF",
"Change language",
"Change Permissions",
"Change Text Color",
"Close search",
"Cloudflare Pages",
"Combine to Single Page",
"Commercial License",
"Compare PDFs",
"Compress PDF",
"Contributing",
"Convert from PDF",
"Convert to PDF",
"Create PDF Form",
"Crop PDF",
"CSV to PDF",
"Delete Pages",
"Deskew PDF",
"Digital Signature",
"Display detailed list",
"Divide Pages",
"Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit",
"Dual-licensed under AGPL-3.0 and Commercial License.",
"Duplex Collate",
"Edit & Annotate",
"Edit Attachments",
"Edit Bookmarks",
"Edit Metadata",
"Email to PDF",
"EPUB to PDF",
"Excel to PDF",
"Extract Attachments",
"Extract Images",
"Extract Pages",
"Extract Tables",
"FB2 to PDF",
"Fix Page Size",
"Flatten PDF",
"Font to Outline",
"Getting Started",
"Guide",
"Header & Footer",
"HEIC to PDF",
"Home",
"Hostinger",
"Images to PDF",
"Invert Colors",
"JPG to PDF",
"JSON to PDF",
"Linearize PDF",
"Markdown to PDF",
"Menu",
"Merge PDF",
"MOBI to PDF",
"N-Up PDF",
"Netlify",
"Next page",
"Nginx",
"No results for",
"OCR PDF",
"ODG to PDF",
"ODP to PDF",
"ODS to PDF",
"ODT to PDF",
"On this page",
"Optimize & Repair",
"Organize & Duplicate",
"Organize & Manage",
"Overview",
"Page Dimensions",
"Page Numbers",
"PDF Booklet",
"PDF Editor",
"PDF Form Filler",
"PDF Multi Tool",
"PDF OCG",
"PDF to BMP",
"PDF to CBZ",
"PDF to CSV",
"PDF to Excel",
"PDF to Greyscale",
"PDF to JPG",
"PDF to JSON",
"PDF to Markdown",
"PDF to PDF/A",
"PDF to PNG",
"PDF to SVG",
"PDF to Text",
"PDF to TIFF",
"PDF to WebP",
"PDF to Word",
"PDF Workflow Builder",
"PDFs to ZIP",
"PNG to PDF",
"Posterize PDF",
"PowerPoint to PDF",
"Prepare PDF for AI",
"Previous page",
"Protect PDF",
"PSD to PDF",
"PUB to PDF",
"Rasterize PDF",
"Remove Annotations",
"Remove Blank Pages",
"Remove Metadata",
"Remove Restrictions",
"Repair PDF",
"Reset search",
"Return to top",
"Reverse Pages",
"Rotate by Custom Degrees",
"Rotate PDF",
"RTF to PDF",
"Sanitize PDF",
"Scanner Effect",
"Search",
"Secure PDF",
"Self-Hosting",
"Self-Hosting Guide",
"Sign PDF",
"Skip to content",
"Split PDF",
"SVG to PDF",
"Switch to dark theme",
"Switch to light theme",
"Table of Contents",
"Text to PDF",
"TIFF to PDF",
"to close",
"to navigate",
"to select",
"Tools",
"Tools Reference",
"Unlock PDF",
"Validate Signature",
"Vercel",
"View Metadata",
"VSD to PDF",
"WebP to PDF",
"Word to PDF",
"WPD to PDF",
"WPS to PDF",
"XML to PDF",
"XPS to PDF"
]
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Lägg till bilagor",
"Add Blank Page": "Lägg till tom sida",
"Add Page Labels": "Lägg till sidetiketter",
"Add Stamps": "Lägg till stämplar",
"Add Watermark": "Lägg till vattenstämpel",
"Adjust Colors": "Justera färger",
"Alternate & Mix Pages": "Alternera & blanda sidor",
"Apache": "Apache",
"Appearance": "Utseende",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Bakgrundsfärg",
"Bates Numbering": "Bates-numrering",
"BMP to PDF": "BMP till PDF",
"CBZ to PDF": "CBZ till PDF",
"Change language": "Byt språk",
"Change Permissions": "Ändra behörigheter",
"Change Text Color": "Ändra textfärg",
"Close search": "Stäng sökning",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Kombinera till en sida",
"Commercial License": "Kommersiell licens",
"Compare PDFs": "Jämför PDF:er",
"Compress PDF": "Komprimera PDF",
"Contributing": "Bidra",
"Convert from PDF": "Konvertera från PDF",
"Convert to PDF": "Konvertera till PDF",
"Create PDF Form": "Skapa PDF-formulär",
"Crop PDF": "Beskär PDF",
"CSV to PDF": "CSV till PDF",
"Delete Pages": "Ta bort sidor",
"Deskew PDF": "Räta upp PDF",
"Digital Signature": "Digital signatur",
"Display detailed list": "Visa detaljerad lista",
"Divide Pages": "Dela sidor",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Dokumentation för BentoPDF, den kostnadsfria PDF-verktygslådan med öppen källkod och integritet i fokus",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Dubbellicensierad under AGPL-3.0 och kommersiell licens.",
"Duplex Collate": "Sortera dubbelsidig skanning",
"Edit & Annotate": "Redigera & Kommentera",
"Edit Attachments": "Redigera bilagor",
"Edit Bookmarks": "Redigera bokmärken",
"Edit Metadata": "Redigera metadata",
"Email to PDF": "E-post till PDF",
"EPUB to PDF": "EPUB till PDF",
"Excel to PDF": "Excel till PDF",
"Extract Attachments": "Extrahera bilagor",
"Extract Images": "Extrahera bilder",
"Extract Pages": "Extrahera sidor",
"Extract Tables": "Extrahera tabeller",
"FB2 to PDF": "FB2 till PDF",
"Fix Page Size": "Fixa sidstorlek",
"Flatten PDF": "Platta till PDF",
"Font to Outline": "Typsnitt till kontur",
"Getting Started": "Kom igång",
"Guide": "Guide",
"Header & Footer": "Sidhuvud & sidfot",
"HEIC to PDF": "HEIC till PDF",
"Home": "Hem",
"Hostinger": "Hostinger",
"Images to PDF": "Bilder till PDF",
"Invert Colors": "Invertera färger",
"JPG to PDF": "JPG till PDF",
"JSON to PDF": "JSON till PDF",
"Linearize PDF": "Linjärisera PDF",
"Markdown to PDF": "Markdown till PDF",
"Menu": "Meny",
"Merge PDF": "Sammanfoga PDF",
"MOBI to PDF": "MOBI till PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "Nästa sida",
"Nginx": "Nginx",
"No results for": "Inga resultat för",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG till PDF",
"ODP to PDF": "ODP till PDF",
"ODS to PDF": "ODS till PDF",
"ODT to PDF": "ODT till PDF",
"On this page": "På den här sidan",
"Optimize & Repair": "Optimera & Reparera",
"Organize & Duplicate": "Organisera & Duplicera",
"Organize & Manage": "Organisera & Hantera",
"Overview": "Översikt",
"Page Dimensions": "Sidmått",
"Page Numbers": "Sidnummer",
"PDF Booklet": "PDF-broschyr",
"PDF Editor": "PDF-redigerare",
"PDF Form Filler": "PDF-formulärifyllare",
"PDF Multi Tool": "PDF-multiverktyg",
"PDF OCG": "PDF OCG",
"PDF to BMP": "PDF till BMP",
"PDF to CBZ": "PDF till CBZ",
"PDF to CSV": "PDF till CSV",
"PDF to Excel": "PDF till Excel",
"PDF to Greyscale": "PDF till gråskala",
"PDF to JPG": "PDF till JPG",
"PDF to JSON": "PDF till JSON",
"PDF to Markdown": "PDF till Markdown",
"PDF to PDF/A": "PDF till PDF/A",
"PDF to PNG": "PDF till PNG",
"PDF to SVG": "PDF till SVG",
"PDF to Text": "PDF till text",
"PDF to TIFF": "PDF till TIFF",
"PDF to WebP": "PDF till WebP",
"PDF to Word": "PDF till Word",
"PDF Workflow Builder": "PDF-arbetsflödesbyggare",
"PDFs to ZIP": "PDF:er till ZIP",
"PNG to PDF": "PNG till PDF",
"Posterize PDF": "Postera PDF",
"PowerPoint to PDF": "PowerPoint till PDF",
"Prepare PDF for AI": "Förbered PDF för AI",
"Previous page": "Föregående sida",
"Protect PDF": "Skydda PDF",
"PSD to PDF": "PSD till PDF",
"PUB to PDF": "PUB till PDF",
"Rasterize PDF": "Rasterisera PDF",
"Remove Annotations": "Ta bort anteckningar",
"Remove Blank Pages": "Ta bort tomma sidor",
"Remove Metadata": "Ta bort metadata",
"Remove Restrictions": "Ta bort begränsningar",
"Repair PDF": "Reparera PDF",
"Reset search": "Återställ sökning",
"Return to top": "Tillbaka till toppen",
"Reverse Pages": "Vänd sidordning",
"Rotate by Custom Degrees": "Rotera med valfri vinkel",
"Rotate PDF": "Rotera PDF",
"RTF to PDF": "RTF till PDF",
"Sanitize PDF": "Sanera PDF",
"Scanner Effect": "Skannereffekt",
"Search": "Sök",
"Secure PDF": "Säkra PDF",
"Self-Hosting": "Egen drift",
"Self-Hosting Guide": "Guide för egen drift",
"Sign PDF": "Signera PDF",
"Skip to content": "Hoppa till innehåll",
"Split PDF": "Dela PDF",
"SVG to PDF": "SVG till PDF",
"Switch to dark theme": "Byt till mörkt tema",
"Switch to light theme": "Byt till ljust tema",
"Table of Contents": "Innehållsförteckning",
"Text to PDF": "Text till PDF",
"TIFF to PDF": "TIFF till PDF",
"to close": "för att stänga",
"to navigate": "för att navigera",
"to select": "för att välja",
"Tools": "Verktyg",
"Tools Reference": "Verktygsreferens",
"Unlock PDF": "Lås upp PDF",
"Validate Signature": "Validera signatur",
"Vercel": "Vercel",
"View Metadata": "Visa metadata",
"VSD to PDF": "VSD till PDF",
"WebP to PDF": "WebP till PDF",
"Word to PDF": "Word till PDF",
"WPD to PDF": "WPD till PDF",
"WPS to PDF": "WPS till PDF",
"XML to PDF": "XML till PDF",
"XPS to PDF": "XPS till PDF"
}
+26
View File
@@ -0,0 +1,26 @@
export const DESCRIPTION =
'Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit';
export const FOOTER_MESSAGE =
'Dual-licensed under AGPL-3.0 and Commercial License.';
export const THEME_LABELS = [
'On this page',
'Return to top',
'Menu',
'Appearance',
'Switch to light theme',
'Switch to dark theme',
'Skip to content',
'Change language',
'Previous page',
'Next page',
'Search',
'No results for',
'Reset search',
'Close search',
'Display detailed list',
'to select',
'to navigate',
'to close',
];
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Ek Dosya Ekle",
"Add Blank Page": "Boş Sayfa Ekle",
"Add Page Labels": "Sayfa Etiketleri Ekle",
"Add Stamps": "Damga Ekle",
"Add Watermark": "Filigran Ekle",
"Adjust Colors": "Renkleri Ayarla",
"Alternate & Mix Pages": "Sayfaları Karıştır & Birleştir",
"Apache": "Apache",
"Appearance": "Görünüm",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Arka Plan Rengi",
"Bates Numbering": "Bates Numaralandırma",
"BMP to PDF": "BMP'den PDF'ye",
"CBZ to PDF": "CBZ'den PDF'ye",
"Change language": "Dili değiştir",
"Change Permissions": "İzinleri Değiştir",
"Change Text Color": "Metin Rengini Değiştir",
"Close search": "Aramayı kapat",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Tek Sayfada Birleştir",
"Commercial License": "Ticari Lisans",
"Compare PDFs": "PDF'leri Karşılaştır",
"Compress PDF": "PDF Sıkıştır",
"Contributing": "Katkıda Bulunma",
"Convert from PDF": "PDF'den Dönüştür",
"Convert to PDF": "PDF'ye Dönüştür",
"Create PDF Form": "PDF Formu Oluştur",
"Crop PDF": "PDF Kırp",
"CSV to PDF": "CSV'den PDF'ye",
"Delete Pages": "Sayfaları Sil",
"Deskew PDF": "PDF Eğriliğini Düzelt",
"Digital Signature": "Dijital İmza",
"Display detailed list": "Ayrıntılı listeyi göster",
"Divide Pages": "Sayfaları Böl",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "BentoPDF belgeleri: ücretsiz, açık kaynaklı, gizlilik odaklı PDF araç seti",
"Dual-licensed under AGPL-3.0 and Commercial License.": "AGPL-3.0 ve Ticari Lisans ile çift lisanslıdır.",
"Duplex Collate": "Çift Taraflı Harmanla",
"Edit & Annotate": "Düzenle & Açıklama Ekle",
"Edit Attachments": "Ek Dosyaları Düzenle",
"Edit Bookmarks": "Yer İşaretlerini Düzenle",
"Edit Metadata": "Üst Veriyi Düzenle",
"Email to PDF": "E-postadan PDF'ye",
"EPUB to PDF": "EPUB'dan PDF'ye",
"Excel to PDF": "Excel'den PDF'ye",
"Extract Attachments": "Ek Dosyaları Çıkar",
"Extract Images": "Görüntüleri Çıkar",
"Extract Pages": "Sayfaları Çıkar",
"Extract Tables": "Tabloları Çıkar",
"FB2 to PDF": "FB2'den PDF'ye",
"Fix Page Size": "Sayfa Boyutunu Düzelt",
"Flatten PDF": "PDF'yi Düzleştir",
"Font to Outline": "Yazı Tipini Ana Hatlara Dönüştür",
"Getting Started": "Başlarken",
"Guide": "Kılavuz",
"Header & Footer": "Üst Bilgi & Alt Bilgi",
"HEIC to PDF": "HEIC'den PDF'ye",
"Home": "Ana Sayfa",
"Hostinger": "Hostinger",
"Images to PDF": "Görselden PDF'ye",
"Invert Colors": "Renkleri Ters Çevir",
"JPG to PDF": "JPG'den PDF'ye",
"JSON to PDF": "JSON'dan PDF'ye",
"Linearize PDF": "PDF'yi Doğrusallaştır",
"Markdown to PDF": "Markdown'dan PDF'ye",
"Menu": "Menü",
"Merge PDF": "PDF Birleştir",
"MOBI to PDF": "MOBI'den PDF'ye",
"N-Up PDF": "N'li PDF",
"Netlify": "Netlify",
"Next page": "Sonraki sayfa",
"Nginx": "Nginx",
"No results for": "Sonuç bulunamadı:",
"OCR PDF": "PDF'de OCR",
"ODG to PDF": "ODG'den PDF'ye",
"ODP to PDF": "ODP'den PDF'ye",
"ODS to PDF": "ODS'ten PDF'ye",
"ODT to PDF": "ODT'den PDF'ye",
"On this page": "Bu sayfada",
"Optimize & Repair": "Optimize Et & Onar",
"Organize & Duplicate": "Çoğalt & Düzenle",
"Organize & Manage": "Düzenle & Yönet",
"Overview": "Genel Bakış",
"Page Dimensions": "Sayfa Boyutları",
"Page Numbers": "Sayfa Numaraları",
"PDF Booklet": "PDF Kitapçık",
"PDF Editor": "PDF Düzenleyici",
"PDF Form Filler": "PDF Form Doldurucu",
"PDF Multi Tool": "PDF Çoklu Araç",
"PDF OCG": "PDF Katmanları (OCG)",
"PDF to BMP": "PDF'den BMP'ye",
"PDF to CBZ": "PDF'den CBZ'ye",
"PDF to CSV": "PDF'den CSV'ye",
"PDF to Excel": "PDF'den Excel'e",
"PDF to Greyscale": "PDF'yi Gri Tonlamaya Çevir",
"PDF to JPG": "PDF'den JPG'ye",
"PDF to JSON": "PDF'den JSON'a",
"PDF to Markdown": "PDF'den Markdown'a",
"PDF to PDF/A": "PDF'den PDF/A'ya",
"PDF to PNG": "PDF'den PNG'ye",
"PDF to SVG": "PDF'den SVG'ye",
"PDF to Text": "PDF'den Metne",
"PDF to TIFF": "PDF'den TIFF'e",
"PDF to WebP": "PDF'den WebP'ye",
"PDF to Word": "PDF'den Word'e",
"PDF Workflow Builder": "PDF İş Akışı Oluşturucu",
"PDFs to ZIP": "PDF'leri ZIP Yap",
"PNG to PDF": "PNG'den PDF'ye",
"Posterize PDF": "PDF'yi Posterleştir",
"PowerPoint to PDF": "PowerPoint'ten PDF'ye",
"Prepare PDF for AI": "PDF'yi Yapay Zeka için Hazırla",
"Previous page": "Önceki sayfa",
"Protect PDF": "PDF'yi Şifrele",
"PSD to PDF": "PSD'den PDF'ye",
"PUB to PDF": "PUB'dan PDF'ye",
"Rasterize PDF": "PDF'yi Rasterleştir",
"Remove Annotations": "Açıklamaları Kaldır",
"Remove Blank Pages": "Boş Sayfaları Kaldır",
"Remove Metadata": "Üst Veriyi Kaldır",
"Remove Restrictions": "Kısıtlamaları Kaldır",
"Repair PDF": "PDF'yi Onar",
"Reset search": "Aramayı sıfırla",
"Return to top": "Başa dön",
"Reverse Pages": "Sayfaları Ters Çevir",
"Rotate by Custom Degrees": "Özel Açıyla Döndür",
"Rotate PDF": "PDF'yi Döndür",
"RTF to PDF": "RTF'den PDF'ye",
"Sanitize PDF": "PDF'yi Temizle",
"Scanner Effect": "Tarayıcı Efekti",
"Search": "Ara",
"Secure PDF": "PDF'yi Güvenceye Al",
"Self-Hosting": "Kendi Sunucunda Barındırma",
"Self-Hosting Guide": "Kendi Sunucunda Barındırma Kılavuzu",
"Sign PDF": "PDF İmzala",
"Skip to content": "İçeriğe geç",
"Split PDF": "PDF Böl",
"SVG to PDF": "SVG'den PDF'ye",
"Switch to dark theme": "Koyu temaya geç",
"Switch to light theme": "Açık temaya geç",
"Table of Contents": "İçindekiler",
"Text to PDF": "Metinden PDF'ye",
"TIFF to PDF": "TIFF'den PDF'ye",
"to close": "kapatmak için",
"to navigate": "gezinmek için",
"to select": "seçmek için",
"Tools": "Araçlar",
"Tools Reference": "Araç Başvurusu",
"Unlock PDF": "PDF'nin Şifresini Çöz",
"Validate Signature": "İmzayı Doğrula",
"Vercel": "Vercel",
"View Metadata": "Üst Veriyi Görüntüle",
"VSD to PDF": "VSD'den PDF'ye",
"WebP to PDF": "WebP'den PDF'ye",
"Word to PDF": "Word'den PDF'ye",
"WPD to PDF": "WPD'den PDF'ye",
"WPS to PDF": "WPS'ten PDF'ye",
"XML to PDF": "XML'den PDF'ye",
"XPS to PDF": "XPS'ten PDF'ye"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Додати вкладення",
"Add Blank Page": "Додати порожню сторінку",
"Add Page Labels": "Додати нумерацію сторінок",
"Add Stamps": "Додати штампи",
"Add Watermark": "Додати водяний знак",
"Adjust Colors": "Корекція кольору",
"Alternate & Mix Pages": "Чергування та змішування сторінок",
"Apache": "Apache",
"Appearance": "Вигляд",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Колір фону",
"Bates Numbering": "Нумерація Bates",
"BMP to PDF": "BMP у PDF",
"CBZ to PDF": "CBZ у PDF",
"Change language": "Змінити мову",
"Change Permissions": "Змінити дозволи",
"Change Text Color": "Змінити колір тексту",
"Close search": "Закрити пошук",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Об’єднати в одну сторінку",
"Commercial License": "Комерційна ліцензія",
"Compare PDFs": "Порівняти PDF",
"Compress PDF": "Стиснення PDF",
"Contributing": "Участь у розробці",
"Convert from PDF": "Конвертувати з PDF",
"Convert to PDF": "Конвертувати в PDF",
"Create PDF Form": "Створити PDF-форму",
"Crop PDF": "Обрізати PDF",
"CSV to PDF": "CSV у PDF",
"Delete Pages": "Видалити сторінки",
"Deskew PDF": "Вирівнювання PDF",
"Digital Signature": "Цифровий підпис PDF",
"Display detailed list": "Показати докладний список",
"Divide Pages": "Розділити сторінки",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Документація BentoPDF: безкоштовний PDF-набір з відкритим кодом, створений з урахуванням конфіденційності",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Подвійне ліцензування: AGPL-3.0 і комерційна ліцензія.",
"Duplex Collate": "Сортування двостороннього сканування",
"Edit & Annotate": "Редагування та анотації",
"Edit Attachments": "Редагувати вкладення",
"Edit Bookmarks": "Редагувати закладки",
"Edit Metadata": "Редагувати метадані",
"Email to PDF": "Email у PDF",
"EPUB to PDF": "EPUB у PDF",
"Excel to PDF": "Excel у PDF",
"Extract Attachments": "Витяг вкладень",
"Extract Images": "Витяг зображень",
"Extract Pages": "Витяг сторінок",
"Extract Tables": "Витяг таблиць з PDF",
"FB2 to PDF": "FB2 у PDF",
"Fix Page Size": "Вирівняти розмір сторінок",
"Flatten PDF": "Сплющити PDF",
"Font to Outline": "Шрифти у контури",
"Getting Started": "Початок роботи",
"Guide": "Посібник",
"Header & Footer": "Колонтитули",
"HEIC to PDF": "HEIC у PDF",
"Home": "Головна",
"Hostinger": "Hostinger",
"Images to PDF": "Зображення у PDF",
"Invert Colors": "Інвертувати кольори",
"JPG to PDF": "JPG у PDF",
"JSON to PDF": "JSON у PDF",
"Linearize PDF": "Лінеаризація PDF",
"Markdown to PDF": "Markdown у PDF",
"Menu": "Меню",
"Merge PDF": "Об’єднати PDF",
"MOBI to PDF": "MOBI у PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "Наступна сторінка",
"Nginx": "Nginx",
"No results for": "Нічого не знайдено за запитом",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG у PDF",
"ODP to PDF": "ODP у PDF",
"ODS to PDF": "ODS у PDF",
"ODT to PDF": "ODT у PDF",
"On this page": "На цій сторінці",
"Optimize & Repair": "Оптимізація та відновлення",
"Organize & Duplicate": "Дублювати та впорядкувати",
"Organize & Manage": "Упорядкування та керування",
"Overview": "Огляд",
"Page Dimensions": "Розміри сторінок",
"Page Numbers": "Нумерація сторінок",
"PDF Booklet": "PDF-буклет",
"PDF Editor": "Редактор PDF",
"PDF Form Filler": "Заповнення PDF-форм",
"PDF Multi Tool": "PDF мультиінструмент",
"PDF OCG": "PDF OCG",
"PDF to BMP": "PDF у BMP",
"PDF to CBZ": "PDF у CBZ",
"PDF to CSV": "PDF у CSV",
"PDF to Excel": "PDF у Excel",
"PDF to Greyscale": "PDF у відтінки сірого",
"PDF to JPG": "PDF у JPG",
"PDF to JSON": "PDF у JSON",
"PDF to Markdown": "PDF у Markdown",
"PDF to PDF/A": "PDF у PDF/A",
"PDF to PNG": "PDF у PNG",
"PDF to SVG": "PDF у SVG",
"PDF to Text": "PDF у текст",
"PDF to TIFF": "PDF у TIFF",
"PDF to WebP": "PDF у WebP",
"PDF to Word": "PDF у Word",
"PDF Workflow Builder": "Конструктор PDF-процесів",
"PDFs to ZIP": "PDF у ZIP",
"PNG to PDF": "PNG у PDF",
"Posterize PDF": "Постеризація PDF",
"PowerPoint to PDF": "PowerPoint у PDF",
"Prepare PDF for AI": "Підготовка PDF для AI",
"Previous page": "Попередня сторінка",
"Protect PDF": "Захистити PDF",
"PSD to PDF": "PSD у PDF",
"PUB to PDF": "PUB у PDF",
"Rasterize PDF": "Растеризація PDF",
"Remove Annotations": "Видалити анотації",
"Remove Blank Pages": "Видалити порожні сторінки",
"Remove Metadata": "Видалити метадані",
"Remove Restrictions": "Зняти обмеження",
"Repair PDF": "Відновити PDF",
"Reset search": "Скинути пошук",
"Return to top": "Повернутися нагору",
"Reverse Pages": "Зворотний порядок сторінок",
"Rotate by Custom Degrees": "Повернути на довільний кут",
"Rotate PDF": "Повернути PDF",
"RTF to PDF": "RTF у PDF",
"Sanitize PDF": "Очистити PDF",
"Scanner Effect": "Ефект сканера",
"Search": "Пошук",
"Secure PDF": "Захист PDF",
"Self-Hosting": "Самостійний хостинг",
"Self-Hosting Guide": "Посібник із самостійного хостингу",
"Sign PDF": "Підписати PDF",
"Skip to content": "Перейти до вмісту",
"Split PDF": "Розділити PDF",
"SVG to PDF": "SVG у PDF",
"Switch to dark theme": "Перейти на темну тему",
"Switch to light theme": "Перейти на світлу тему",
"Table of Contents": "Зміст",
"Text to PDF": "Текст у PDF",
"TIFF to PDF": "TIFF у PDF",
"to close": "закрити",
"to navigate": "навігація",
"to select": "вибрати",
"Tools": "Інструменти",
"Tools Reference": "Довідник інструментів",
"Unlock PDF": "Розблокувати PDF",
"Validate Signature": "Перевірка підпису PDF",
"Vercel": "Vercel",
"View Metadata": "Перегляд метаданих",
"VSD to PDF": "VSD у PDF",
"WebP to PDF": "WebP у PDF",
"Word to PDF": "Word у PDF",
"WPD to PDF": "WPD у PDF",
"WPS to PDF": "WPS у PDF",
"XML to PDF": "XML у PDF",
"XPS to PDF": "XPS у PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "Thêm tệp đính kèm",
"Add Blank Page": "Thêm trang trống",
"Add Page Labels": "Thêm nhãn trang",
"Add Stamps": "Thêm tem",
"Add Watermark": "Thêm Watermark",
"Adjust Colors": "Điều chỉnh màu sắc",
"Alternate & Mix Pages": "Xen kẽ & Trộn trang",
"Apache": "Apache",
"Appearance": "Giao diện",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "Màu nền",
"Bates Numbering": "Đánh số Bates",
"BMP to PDF": "BMP sang PDF",
"CBZ to PDF": "CBZ sang PDF",
"Change language": "Đổi ngôn ngữ",
"Change Permissions": "Thay đổi quyền",
"Change Text Color": "Thay đổi màu văn bản",
"Close search": "Đóng tìm kiếm",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "Kết hợp thành một trang",
"Commercial License": "Giấy phép thương mại",
"Compare PDFs": "So sánh PDF",
"Compress PDF": "Nén PDF",
"Contributing": "Đóng góp",
"Convert from PDF": "Chuyển đổi từ PDF",
"Convert to PDF": "Chuyển đổi sang PDF",
"Create PDF Form": "Tạo form PDF",
"Crop PDF": "Cắt PDF",
"CSV to PDF": "CSV sang PDF",
"Delete Pages": "Xóa trang",
"Deskew PDF": "Chỉnh nghiêng PDF",
"Digital Signature": "Chữ ký số PDF",
"Display detailed list": "Hiển thị danh sách chi tiết",
"Divide Pages": "Chia trang",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "Tài liệu BentoPDF - Bộ công cụ PDF miễn phí, mã nguồn mở, đặt quyền riêng tư lên hàng đầu",
"Dual-licensed under AGPL-3.0 and Commercial License.": "Cấp phép kép theo AGPL-3.0 và Giấy phép thương mại.",
"Duplex Collate": "Sắp xếp bản quét hai mặt",
"Edit & Annotate": "Chỉnh sửa & Ghi chú",
"Edit Attachments": "Chỉnh sửa tệp đính kèm",
"Edit Bookmarks": "Chỉnh sửa Bookmark",
"Edit Metadata": "Chỉnh sửa Metadata",
"Email to PDF": "Email sang PDF",
"EPUB to PDF": "EPUB sang PDF",
"Excel to PDF": "Excel sang PDF",
"Extract Attachments": "Trích xuất tệp đính kèm",
"Extract Images": "Trích xuất hình ảnh",
"Extract Pages": "Trích xuất trang",
"Extract Tables": "Trích xuất bảng PDF",
"FB2 to PDF": "FB2 sang PDF",
"Fix Page Size": "Sửa kích thước trang",
"Flatten PDF": "Làm phẳng PDF",
"Font to Outline": "Phông chữ thành đường viền",
"Getting Started": "Bắt đầu",
"Guide": "Hướng dẫn",
"Header & Footer": "Đầu trang & Chân trang",
"HEIC to PDF": "HEIC sang PDF",
"Home": "Trang chủ",
"Hostinger": "Hostinger",
"Images to PDF": "Hình ảnh sang PDF",
"Invert Colors": "Đảo ngược màu",
"JPG to PDF": "JPG sang PDF",
"JSON to PDF": "JSON sang PDF",
"Linearize PDF": "Tuyến tính hóa PDF",
"Markdown to PDF": "Markdown sang PDF",
"Menu": "Menu",
"Merge PDF": "Gộp PDF",
"MOBI to PDF": "MOBI sang PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "Trang sau",
"Nginx": "Nginx",
"No results for": "Không có kết quả cho",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG sang PDF",
"ODP to PDF": "ODP sang PDF",
"ODS to PDF": "ODS sang PDF",
"ODT to PDF": "ODT sang PDF",
"On this page": "Trên trang này",
"Optimize & Repair": "Tối ưu hóa & Sửa chữa",
"Organize & Duplicate": "Nhân đôi & Sắp xếp",
"Organize & Manage": "Sắp xếp & Quản lý",
"Overview": "Tổng quan",
"Page Dimensions": "Kích thước trang",
"Page Numbers": "Số trang",
"PDF Booklet": "Sách nhỏ PDF",
"PDF Editor": "Trình chỉnh sửa PDF",
"PDF Form Filler": "Điền form PDF",
"PDF Multi Tool": "Công cụ đa năng PDF",
"PDF OCG": "Lớp PDF (OCG)",
"PDF to BMP": "PDF sang BMP",
"PDF to CBZ": "PDF sang CBZ",
"PDF to CSV": "PDF sang CSV",
"PDF to Excel": "PDF sang Excel",
"PDF to Greyscale": "PDF sang thang xám",
"PDF to JPG": "PDF sang JPG",
"PDF to JSON": "PDF sang JSON",
"PDF to Markdown": "PDF sang Markdown",
"PDF to PDF/A": "PDF sang PDF/A",
"PDF to PNG": "PDF sang PNG",
"PDF to SVG": "PDF sang SVG",
"PDF to Text": "PDF sang văn bản",
"PDF to TIFF": "PDF sang TIFF",
"PDF to WebP": "PDF sang WebP",
"PDF to Word": "PDF sang Word",
"PDF Workflow Builder": "Trình xây dựng quy trình PDF",
"PDFs to ZIP": "PDF sang ZIP",
"PNG to PDF": "PNG sang PDF",
"Posterize PDF": "Chia PDF thành poster",
"PowerPoint to PDF": "PowerPoint sang PDF",
"Prepare PDF for AI": "Chuẩn bị PDF cho AI",
"Previous page": "Trang trước",
"Protect PDF": "Bảo vệ PDF",
"PSD to PDF": "PSD sang PDF",
"PUB to PDF": "PUB sang PDF",
"Rasterize PDF": "Raster hóa PDF",
"Remove Annotations": "Xóa ghi chú",
"Remove Blank Pages": "Xóa trang trống",
"Remove Metadata": "Xóa Metadata",
"Remove Restrictions": "Xóa hạn chế",
"Repair PDF": "Sửa chữa PDF",
"Reset search": "Đặt lại tìm kiếm",
"Return to top": "Về đầu trang",
"Reverse Pages": "Đảo ngược trang",
"Rotate by Custom Degrees": "Xoay theo độ tùy chỉnh",
"Rotate PDF": "Xoay PDF",
"RTF to PDF": "RTF sang PDF",
"Sanitize PDF": "Làm sạch PDF",
"Scanner Effect": "Hiệu ứng máy quét",
"Search": "Tìm kiếm",
"Secure PDF": "Bảo mật PDF",
"Self-Hosting": "Tự lưu trữ",
"Self-Hosting Guide": "Hướng dẫn tự lưu trữ",
"Sign PDF": "Ký PDF",
"Skip to content": "Chuyển đến nội dung",
"Split PDF": "Chia PDF",
"SVG to PDF": "SVG sang PDF",
"Switch to dark theme": "Chuyển sang giao diện tối",
"Switch to light theme": "Chuyển sang giao diện sáng",
"Table of Contents": "Mục lục",
"Text to PDF": "Văn bản sang PDF",
"TIFF to PDF": "TIFF sang PDF",
"to close": "để đóng",
"to navigate": "để di chuyển",
"to select": "để chọn",
"Tools": "Công cụ",
"Tools Reference": "Tham chiếu công cụ",
"Unlock PDF": "Mở khóa PDF",
"Validate Signature": "Xác minh chữ ký PDF",
"Vercel": "Vercel",
"View Metadata": "Xem Metadata",
"VSD to PDF": "VSD sang PDF",
"WebP to PDF": "WebP sang PDF",
"Word to PDF": "Word sang PDF",
"WPD to PDF": "WPD sang PDF",
"WPS to PDF": "WPS sang PDF",
"XML to PDF": "XML sang PDF",
"XPS to PDF": "XPS sang PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "新增附件",
"Add Blank Page": "新增空白頁面",
"Add Page Labels": "新增頁面標籤",
"Add Stamps": "新增印章",
"Add Watermark": "新增浮水印",
"Adjust Colors": "調整顏色",
"Alternate & Mix Pages": "交錯混合頁面",
"Apache": "Apache",
"Appearance": "外觀",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "背景顏色",
"Bates Numbering": "Bates 編號",
"BMP to PDF": "BMP 轉 PDF",
"CBZ to PDF": "CBZ 轉 PDF",
"Change language": "變更語言",
"Change Permissions": "變更權限",
"Change Text Color": "更改文字顏色",
"Close search": "關閉搜尋",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "合併為單一頁面",
"Commercial License": "商業授權",
"Compare PDFs": "比較 PDF",
"Compress PDF": "壓縮 PDF",
"Contributing": "參與貢獻",
"Convert from PDF": "從 PDF 轉換",
"Convert to PDF": "轉換為 PDF",
"Create PDF Form": "建立 PDF 表單",
"Crop PDF": "裁切 PDF",
"CSV to PDF": "CSV 轉 PDF",
"Delete Pages": "刪除頁面",
"Deskew PDF": "PDF 歪斜修正",
"Digital Signature": "數位簽章",
"Display detailed list": "顯示詳細清單",
"Divide Pages": "分割頁面",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "BentoPDF 說明文件:免費、開源、隱私優先的 PDF 工具箱",
"Dual-licensed under AGPL-3.0 and Commercial License.": "以 AGPL-3.0 與商業授權雙重授權。",
"Duplex Collate": "雙面掃描整理",
"Edit & Annotate": "編輯與註解",
"Edit Attachments": "編輯附件",
"Edit Bookmarks": "編輯書籤",
"Edit Metadata": "編輯中繼資料",
"Email to PDF": "電子郵件轉 PDF",
"EPUB to PDF": "EPUB 轉 PDF",
"Excel to PDF": "Excel 轉 PDF",
"Extract Attachments": "擷取附件",
"Extract Images": "擷取圖片",
"Extract Pages": "擷取頁面",
"Extract Tables": "擷取 PDF 表格",
"FB2 to PDF": "FB2 轉 PDF",
"Fix Page Size": "統一頁面尺寸",
"Flatten PDF": "平面化 PDF",
"Font to Outline": "字型轉外框",
"Getting Started": "開始使用",
"Guide": "指南",
"Header & Footer": "頁首與頁尾",
"HEIC to PDF": "HEIC 轉 PDF",
"Home": "首頁",
"Hostinger": "Hostinger",
"Images to PDF": "圖片轉 PDF",
"Invert Colors": "反轉顏色",
"JPG to PDF": "JPG 轉 PDF",
"JSON to PDF": "JSON 轉 PDF",
"Linearize PDF": "線性化 PDF",
"Markdown to PDF": "Markdown 轉 PDF",
"Menu": "選單",
"Merge PDF": "合併 PDF",
"MOBI to PDF": "MOBI 轉 PDF",
"N-Up PDF": "多頁併一頁 (N-Up)",
"Netlify": "Netlify",
"Next page": "下一頁",
"Nginx": "Nginx",
"No results for": "找不到相關結果:",
"OCR PDF": "PDF 文字辨識 (OCR)",
"ODG to PDF": "ODG 轉 PDF",
"ODP to PDF": "ODP 轉 PDF",
"ODS to PDF": "ODS 轉 PDF",
"ODT to PDF": "ODT 轉 PDF",
"On this page": "本頁內容",
"Optimize & Repair": "最佳化與修復",
"Organize & Duplicate": "整理與複製",
"Organize & Manage": "整理與管理",
"Overview": "概覽",
"Page Dimensions": "頁面尺寸",
"Page Numbers": "頁碼",
"PDF Booklet": "PDF 小手冊",
"PDF Editor": "PDF 編輯器",
"PDF Form Filler": "PDF 表單填寫器",
"PDF Multi Tool": "PDF 多功能工具",
"PDF OCG": "PDF 圖層(OCG)",
"PDF to BMP": "PDF 轉 BMP",
"PDF to CBZ": "PDF 轉 CBZ",
"PDF to CSV": "PDF 轉 CSV",
"PDF to Excel": "PDF 轉 Excel",
"PDF to Greyscale": "PDF 轉灰階",
"PDF to JPG": "PDF 轉 JPG",
"PDF to JSON": "PDF 轉 JSON",
"PDF to Markdown": "PDF 轉 Markdown",
"PDF to PDF/A": "PDF 轉 PDF/A",
"PDF to PNG": "PDF 轉 PNG",
"PDF to SVG": "PDF 轉 SVG",
"PDF to Text": "PDF 轉文字",
"PDF to TIFF": "PDF 轉 TIFF",
"PDF to WebP": "PDF 轉 WebP",
"PDF to Word": "PDF 轉 Word",
"PDF Workflow Builder": "PDF 工作流程建構器",
"PDFs to ZIP": "PDF 轉 ZIP",
"PNG to PDF": "PNG 轉 PDF",
"Posterize PDF": "海報化 PDF",
"PowerPoint to PDF": "PowerPoint 轉 PDF",
"Prepare PDF for AI": "為 AI 準備 PDF",
"Previous page": "上一頁",
"Protect PDF": "保護 PDF",
"PSD to PDF": "PSD 轉 PDF",
"PUB to PDF": "PUB 轉 PDF",
"Rasterize PDF": "光柵化 PDF",
"Remove Annotations": "移除註解",
"Remove Blank Pages": "移除空白頁面",
"Remove Metadata": "移除中繼資料",
"Remove Restrictions": "移除限制",
"Repair PDF": "修復 PDF",
"Reset search": "重設搜尋",
"Return to top": "回到頂端",
"Reverse Pages": "反轉頁面",
"Rotate by Custom Degrees": "自訂角度旋轉",
"Rotate PDF": "旋轉 PDF",
"RTF to PDF": "RTF 轉 PDF",
"Sanitize PDF": "清理 PDF",
"Scanner Effect": "掃描效果",
"Search": "搜尋",
"Secure PDF": "保護 PDF",
"Self-Hosting": "自行架設",
"Self-Hosting Guide": "自行架設指南",
"Sign PDF": "簽署 PDF",
"Skip to content": "跳至內容",
"Split PDF": "分割 PDF",
"SVG to PDF": "SVG 轉 PDF",
"Switch to dark theme": "切換為深色主題",
"Switch to light theme": "切換為淺色主題",
"Table of Contents": "目錄",
"Text to PDF": "文字轉 PDF",
"TIFF to PDF": "TIFF 轉 PDF",
"to close": "關閉",
"to navigate": "切換選項",
"to select": "選取",
"Tools": "工具",
"Tools Reference": "工具參考",
"Unlock PDF": "解除鎖定 PDF",
"Validate Signature": "驗證 PDF 數位簽章",
"Vercel": "Vercel",
"View Metadata": "檢視中繼資料",
"VSD to PDF": "VSD 轉 PDF",
"WebP to PDF": "WebP 轉 PDF",
"Word to PDF": "Word 轉 PDF",
"WPD to PDF": "WPD 轉 PDF",
"WPS to PDF": "WPS 轉 PDF",
"XML to PDF": "XML 轉 PDF",
"XPS to PDF": "XPS 轉 PDF"
}
+160
View File
@@ -0,0 +1,160 @@
{
"Add Attachments": "添加附件",
"Add Blank Page": "添加空白页",
"Add Page Labels": "添加页面标签",
"Add Stamps": "添加印章",
"Add Watermark": "添加水印",
"Adjust Colors": "调整颜色",
"Alternate & Mix Pages": "交替混合页面",
"Apache": "Apache",
"Appearance": "外观",
"AWS S3 + CloudFront": "AWS S3 + CloudFront",
"Background Color": "背景颜色",
"Bates Numbering": "Bates 编号",
"BMP to PDF": "BMP 转 PDF",
"CBZ to PDF": "CBZ 转 PDF",
"Change language": "切换语言",
"Change Permissions": "更改权限",
"Change Text Color": "更改文本颜色",
"Close search": "关闭搜索",
"Cloudflare Pages": "Cloudflare Pages",
"Combine to Single Page": "合并为单页",
"Commercial License": "商业许可",
"Compare PDFs": "比较 PDF",
"Compress PDF": "压缩 PDF",
"Contributing": "参与贡献",
"Convert from PDF": "从 PDF 转换",
"Convert to PDF": "转换为 PDF",
"Create PDF Form": "创建 PDF 表单",
"Crop PDF": "裁剪 PDF",
"CSV to PDF": "CSV 转 PDF",
"Delete Pages": "删除页面",
"Deskew PDF": "校正 PDF",
"Digital Signature": "数字签名",
"Display detailed list": "显示详细列表",
"Divide Pages": "分割页面",
"Docker": "Docker",
"Documentation for BentoPDF - The free, open-source, privacy-first PDF toolkit": "BentoPDF 文档:免费、开源、隐私优先的 PDF 工具箱",
"Dual-licensed under AGPL-3.0 and Commercial License.": "采用 AGPL-3.0 与商业许可双重授权。",
"Duplex Collate": "双面扫描整理",
"Edit & Annotate": "编辑与注释",
"Edit Attachments": "编辑附件",
"Edit Bookmarks": "编辑书签",
"Edit Metadata": "编辑元数据",
"Email to PDF": "邮件转 PDF",
"EPUB to PDF": "EPUB 转 PDF",
"Excel to PDF": "Excel 转 PDF",
"Extract Attachments": "提取附件",
"Extract Images": "提取图片",
"Extract Pages": "提取页面",
"Extract Tables": "提取 PDF 表格",
"FB2 to PDF": "FB2 转 PDF",
"Fix Page Size": "修复页面尺寸",
"Flatten PDF": "扁平化 PDF",
"Font to Outline": "字体转轮廓",
"Getting Started": "快速入门",
"Guide": "指南",
"Header & Footer": "页眉和页脚",
"HEIC to PDF": "HEIC 转 PDF",
"Home": "首页",
"Hostinger": "Hostinger",
"Images to PDF": "图片转 PDF",
"Invert Colors": "反转颜色",
"JPG to PDF": "JPG 转 PDF",
"JSON to PDF": "JSON 转 PDF",
"Linearize PDF": "线性化 PDF",
"Markdown to PDF": "Markdown 转 PDF",
"Menu": "菜单",
"Merge PDF": "合并 PDF",
"MOBI to PDF": "MOBI 转 PDF",
"N-Up PDF": "N-Up PDF",
"Netlify": "Netlify",
"Next page": "下一页",
"Nginx": "Nginx",
"No results for": "没有找到相关结果:",
"OCR PDF": "OCR PDF",
"ODG to PDF": "ODG 转 PDF",
"ODP to PDF": "ODP 转 PDF",
"ODS to PDF": "ODS 转 PDF",
"ODT to PDF": "ODT 转 PDF",
"On this page": "本页内容",
"Optimize & Repair": "优化与修复",
"Organize & Duplicate": "复制与组织",
"Organize & Manage": "组织与管理",
"Overview": "概览",
"Page Dimensions": "页面尺寸",
"Page Numbers": "页码",
"PDF Booklet": "PDF 小册子",
"PDF Editor": "PDF 编辑器",
"PDF Form Filler": "PDF 表单填写器",
"PDF Multi Tool": "PDF 多功能工具",
"PDF OCG": "PDF 图层 (OCG)",
"PDF to BMP": "PDF 转 BMP",
"PDF to CBZ": "PDF 转 CBZ",
"PDF to CSV": "PDF 转 CSV",
"PDF to Excel": "PDF 转 Excel",
"PDF to Greyscale": "PDF 转灰度",
"PDF to JPG": "PDF 转 JPG",
"PDF to JSON": "PDF 转 JSON",
"PDF to Markdown": "PDF 转 Markdown",
"PDF to PDF/A": "PDF 转 PDF/A",
"PDF to PNG": "PDF 转 PNG",
"PDF to SVG": "PDF 转 SVG",
"PDF to Text": "PDF 转文本",
"PDF to TIFF": "PDF 转 TIFF",
"PDF to WebP": "PDF 转 WebP",
"PDF to Word": "PDF 转 Word",
"PDF Workflow Builder": "PDF 工作流构建器",
"PDFs to ZIP": "PDF 转 ZIP",
"PNG to PDF": "PNG 转 PDF",
"Posterize PDF": "海报化 PDF",
"PowerPoint to PDF": "PowerPoint 转 PDF",
"Prepare PDF for AI": "为 AI 准备 PDF",
"Previous page": "上一页",
"Protect PDF": "保护 PDF",
"PSD to PDF": "PSD 转 PDF",
"PUB to PDF": "PUB 转 PDF",
"Rasterize PDF": "栅格化 PDF",
"Remove Annotations": "移除注释",
"Remove Blank Pages": "移除空白页",
"Remove Metadata": "移除元数据",
"Remove Restrictions": "移除限制",
"Repair PDF": "修复 PDF",
"Reset search": "重置搜索",
"Return to top": "返回顶部",
"Reverse Pages": "反转页面",
"Rotate by Custom Degrees": "按自定义角度旋转",
"Rotate PDF": "旋转 PDF",
"RTF to PDF": "RTF 转 PDF",
"Sanitize PDF": "清理 PDF",
"Scanner Effect": "扫描效果",
"Search": "搜索",
"Secure PDF": "安全 PDF",
"Self-Hosting": "自托管",
"Self-Hosting Guide": "自托管指南",
"Sign PDF": "签署 PDF",
"Skip to content": "跳到正文",
"Split PDF": "分割 PDF",
"SVG to PDF": "SVG 转 PDF",
"Switch to dark theme": "切换到深色主题",
"Switch to light theme": "切换到浅色主题",
"Table of Contents": "目录",
"Text to PDF": "文本转 PDF",
"TIFF to PDF": "TIFF 转 PDF",
"to close": "关闭",
"to navigate": "导航",
"to select": "选择",
"Tools": "工具",
"Tools Reference": "工具参考",
"Unlock PDF": "解锁 PDF",
"Validate Signature": "验证签名",
"Vercel": "Vercel",
"View Metadata": "查看元数据",
"VSD to PDF": "VSD 转 PDF",
"WebP to PDF": "WebP 转 PDF",
"Word to PDF": "Word 转 PDF",
"WPD to PDF": "WPD 转 PDF",
"WPS to PDF": "WPS 转 PDF",
"XML to PDF": "XML 转 PDF",
"XPS to PDF": "XPS 转 PDF"
}
+195
View File
@@ -0,0 +1,195 @@
export const nav = [
{ text: 'Home', link: '/' },
{ text: 'Getting Started', link: '/getting-started' },
{ text: 'Tools', link: '/tools/' },
{ text: 'Self-Hosting', link: '/self-hosting/' },
{ text: 'Contributing', link: '/contributing' },
{ text: 'Commercial License', link: '/licensing' },
];
export const sidebar = {
'/tools/': [
{
text: 'Tools Reference',
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 CBZ', link: '/tools/pdf-to-cbz' },
{ 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-word' },
{ 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: 'Duplex Collate', link: '/tools/duplex-collate' },
{ 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: 'Protect PDF', link: '/tools/protect-pdf' },
{ text: 'Sanitize PDF', link: '/tools/sanitize-pdf' },
{ text: 'Unlock PDF', link: '/tools/unlock-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/': [
{
text: 'Self-Hosting Guide',
items: [
{ text: 'Overview', link: '/self-hosting/' },
{ text: 'Docker', link: '/self-hosting/docker' },
{ text: 'Vercel', link: '/self-hosting/vercel' },
{ text: 'Netlify', link: '/self-hosting/netlify' },
{ text: 'Cloudflare Pages', link: '/self-hosting/cloudflare' },
{ text: 'AWS S3 + CloudFront', link: '/self-hosting/aws' },
{ text: 'Hostinger', link: '/self-hosting/hostinger' },
{ text: 'Nginx', link: '/self-hosting/nginx' },
{ text: 'Apache', link: '/self-hosting/apache' },
],
},
],
'/': [
{
text: 'Guide',
items: [
{ text: 'Getting Started', link: '/getting-started' },
{ text: 'Tools Reference', link: '/tools/' },
{ text: 'Self-Hosting', link: '/self-hosting/' },
{ text: 'Contributing', link: '/contributing' },
{ text: 'Commercial License', link: '/licensing' },
],
},
],
};
+136
View File
@@ -0,0 +1,136 @@
# المساهمة
شكرًا لاهتمامك بالمساهمة في BentoPDF! سيساعدك هذا الدليل على البدء.
## البدء
### المتطلبات
- Node.js 18+
- npm 9+
- Git
### الإعداد
```bash
# Fork and clone the repository
git clone https://github.com/YOUR_USERNAME/bentopdf.git
cd bentopdf
# Install dependencies
npm install
# Start development server
npm run dev
```
## بنية المشروع
```
bentopdf/
├── src/
│ ├── js/
│ │ ├── config/ # Tool definitions
│ │ ├── logic/ # Tool page logic
│ │ ├── utils/ # Shared utilities
│ │ └── ui.ts # UI helpers
│ ├── pages/ # Tool HTML pages
│ └── css/ # Styles
├── public/
│ ├── locales/ # Translations
│ └── pymupdf-wasm/ # WASM modules
├── docs/ # Documentation (VitePress)
└── scripts/ # Build scripts
```
## إضافة أداة جديدة
### الخطوة 1: إنشاء ملف المنطق
أنشئ `src/js/logic/your-tool-page.ts`:
```typescript
import { showLoader, hideLoader, showAlert } from '../ui.js';
import { state } from '../state.js';
document.addEventListener('DOMContentLoaded', () => {
// Your tool logic here
});
```
### الخطوة 2: إنشاء صفحة HTML
أنشئ `src/pages/your-tool.html` باتباع قوالب الأدوات الموجودة.
### الخطوة 3: تسجيل الأداة
أضف إلى `src/js/config/tools.ts`:
```typescript
{
href: import.meta.env.BASE_URL + 'your-tool.html',
name: 'Your Tool',
icon: 'ph-icon-name',
subtitle: 'Description of your tool.',
}
```
### الخطوة 4: الإضافة إلى إعدادات البناء
أضف الصفحة إلى `vite.config.ts`:
```typescript
'your-tool': resolve(__dirname, 'src/pages/your-tool.html'),
```
### الخطوة 5: إضافة الترجمات
أضف مدخلات إلى جميع ملفات اللغات في `public/locales/`:
```json
{
"yourTool": {
"name": "Your Tool",
"subtitle": "Description"
}
}
```
## نمط الكود
- استخدم TypeScript لكل الكود الجديد
- اتبع الأنماط الموجودة للحفاظ على الاتساق
- شغّل `npm run format` قبل الإيداع
- لا تضف تعليقات في كود الإنتاج (تُزال التعليقات أثناء البناء)
## عملية طلب السحب
1. أنشئ فرعًا للميزة: `git checkout -b feature/your-feature`
2. أجرِ تعديلاتك
3. اختبر جيدًا: `npm run build`
4. أرسل طلب سحب (PR) مع وصف واضح
## الترجمة
راجع [TRANSLATION.md](https://github.com/alam00000/bentopdf/blob/main/TRANSLATION.md) لإضافة لغات جديدة.
## اتفاقية ترخيص المساهم
قبل دمج طلب السحب، ستحتاج إلى توقيع اتفاقية CLA الخاصة بنا:
- [اتفاقية المساهم الفرد (ICLA)](https://github.com/alam00000/bentopdf/blob/main/ICLA.md)
- [اتفاقية المساهم المؤسسي (CCLA)](https://github.com/alam00000/bentopdf/blob/main/CCLA.md)
## الحصول على المساعدة
- [مشكلات GitHub](https://github.com/alam00000/bentopdf/issues)
- [مجتمع Discord](https://discord.gg/Bgq3Ay3f2w)
## الترخيص
BentoPDF مرخّص بترخيص مزدوج:
- **AGPL-3.0** للمشاريع مفتوحة المصدر التي تشارك كامل شيفرتها المصدرية علنًا
- **ترخيص تجاري** للتطبيقات الخاصة/مغلقة المصدر - [احصل على ترخيص مدى الحياة مقابل 79$](https://buy.polar.sh/polar_cl_ThDfffbl733x7oAodcIryCzhlO57ZtcWPq6HJ1qMChd)
بمساهمتك، فإنك توافق على ترخيص مساهماتك بموجب هذه الشروط.
+80
View File
@@ -0,0 +1,80 @@
# البدء
مرحبًا بك في BentoPDF! سيساعدك هذا الدليل على الانطلاق بسرعة.
## ما هو BentoPDF؟
BentoPDF مجموعة أدوات PDF مجانية ومفتوحة المصدر تضع الخصوصية أولًا، وتعمل **بالكامل داخل متصفحك**. ملفاتك لا تغادر جهازك أبدًا، فكل المعالجة تتم محليًا باستخدام تقنية WebAssembly (WASM).
## بداية سريعة
### الخيار 1: استخدام النسخة المستضافة
زر [bentopdf.com](https://www.bentopdf.com) لاستخدام BentoPDF فورًا، بدون أي تثبيت.
### الخيار 2: الاستضافة الذاتية باستخدام Docker
> [!IMPORTANT]
> يتطلب تحويل ملفات Office وجود `SharedArrayBuffer`، وهذا يحتاج إلى كل مما يلي:
>
> - `Cross-Origin-Opener-Policy: same-origin`
> - `Cross-Origin-Embedder-Policy: require-corp`
> - سياق آمن
>
> يعمل `http://localhost` للاختبار المحلي لأن المتصفحات تعتبر عنوان الحلقة المحلية موثوقًا. أما `http://192.168.x.x` أو غيره من عناوين الشبكة المحلية فعادةً لا يُعتبر كذلك، لذا تتطلب تحويلات Word/Excel/PowerPoint اتصال HTTPS عند الوصول من أجهزة أخرى على شبكتك.
```bash
# Pull and run the Docker image (self-hosted build)
docker run -d -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest
# Or use Docker Compose
curl -O https://raw.githubusercontent.com/alam00000/bentopdf/main/docker-compose.yml
docker compose up -d
```
> [!TIP]
> يتوفر BentoPDF بنسختين: **نسخة الاستضافة الذاتية** (`bentopdf-simple`، المستخدمة أعلاه) لعمليات النشر الداخلية وللفرق والمؤسسات، و**النسخة التجارية** (`bentopdf:latest`) التي يستخدمها bentopdf.com نفسه وأصحاب التراخيص التجارية الذين ينشرون خدمات موجهة للعامة. كلتا النسختين تتضمنان أدوات PDF نفسها، وتضيف النسخة التجارية الواجهة الرئيسية لـ bentopdf.com والأسئلة الشائعة وآراء المستخدمين والتذييل. إذا كنت غير متأكد، فاستخدم نسخة الاستضافة الذاتية.
ثم افتح `http://localhost:3000` في متصفحك.
> [!NOTE]
> إذا كنت تجهّز نشرًا معزولًا عن الإنترنت لميزة OCR، فعليك استضافة خطوط الطبقة النصية الخاصة بـ OCR داخليًا، إضافة إلى عامل Tesseract وبيئة التشغيل الأساسية وملفات traineddata. الإعداد الكامل موثّق في [الاستضافة الذاتية](/ar/self-hosting/)، بما في ذلك `VITE_OCR_FONT_BASE_URL` والمجلد المضمّن `ocr-fonts/`.
### الخيار 3: البناء من المصدر
```bash
# Clone the repository
git clone https://github.com/alam00000/bentopdf.git
cd bentopdf
# Install dependencies
npm install
# Start development server
npm run dev
```
## نظرة سريعة على الميزات
| الفئة | الأدوات |
| -------------------- | ----------------------------------------------------------- |
| **التحويل إلى PDF** | Word وExcel وPowerPoint والصور وMarkdown وEPUB وMOBI وغيرها |
| **التحويل من PDF** | JPG وPNG ونص وExcel وSVG وغيرها |
| **التحرير والتعليق** | التوقيع، التمييز، التنقيح، تعبئة النماذج، إضافة الأختام |
| **التنظيم** | دمج، تقسيم، تدوير، حذف الصفحات، إعادة الترتيب |
| **التحسين** | ضغط، إصلاح، تسطيح، OCR |
| **الأمان** | تشفير، فك التشفير، إزالة القيود |
## دعم المتصفحات
يعمل BentoPDF بأفضل شكل على المتصفحات الحديثة:
- ✅ Chrome/Edge 90+
- ✅ Firefox 90+
- ✅ Safari 15+
## الخطوات التالية
- [استكشف جميع الأدوات](/ar/tools/)
- [استضف BentoPDF بنفسك](/ar/self-hosting/)
- [ساهم في المشروع](/ar/contributing)
+42
View File
@@ -0,0 +1,42 @@
---
# https://vitepress.dev/reference/default-theme-home-page
layout: home
hero:
name: 'BentoPDF'
text: 'أدوات PDF مجانية ومفتوحة المصدر'
tagline: عالج ملفات PDF بالكامل داخل متصفحك. بدون رفع ملفات. بدون خوادم. خصوصية كاملة.
actions:
- theme: brand
text: ابدأ الآن
link: /ar/getting-started
- theme: alt
text: عرض الأدوات
link: /ar/tools/
- theme: alt
text: الاستضافة الذاتية
link: /ar/self-hosting/
- theme: alt
text: الترخيص التجاري
link: /ar/licensing
features:
- icon: 🔒
title: خصوصية 100%
details: ملفاتك لا تغادر جهازك أبدًا. تتم كل المعالجة محليًا في متصفحك باستخدام WebAssembly.
- icon: ⚡
title: سريع ومجاني
details: بدون تسجيل، بدون حدود، بدون علامات مائية. عالج عددًا غير محدود من ملفات PDF مجانًا، إلى الأبد.
- icon: 🛠️
title: أكثر من 50 أداة
details: حوّل وحرّر وادمج وقسّم وضغط ووقّع وطبّق OCR، والمزيد. كل ما تحتاجه في مكان واحد.
- icon: 🌐
title: قابل للاستضافة الذاتية
details: انشره على بنيتك التحتية الخاصة. Docker أو Vercel أو Netlify أو AWS، أو بيئات معزولة تمامًا عن الإنترنت مع عمال OCR وبيانات لغات وخطوط طبقة نصية مستضافة ذاتيًا.
---
## OCR بدون اتصال
إذا استضفت BentoPDF ذاتيًا في بيئة معزولة عن الإنترنت أو بدون اتصال، فإن OCR يحتاج إلى أكثر من عامل Tesseract وملفات traineddata. فإخراج PDF القابل للبحث يتطلب أيضًا تقديم خطوط الطبقة النصية الخاصة بـ OCR من الداخل.
راجع [الاستضافة الذاتية](/ar/self-hosting/) للإعداد الكامل، بما في ذلك `VITE_OCR_FONT_BASE_URL` والمجلد المضمّن `ocr-fonts/` وسير العمل المحدّث للبيئات المعزولة.
+92
View File
@@ -0,0 +1,92 @@
# Commercial License
BentoPDF is dual-licensed under **AGPL-3.0** (for open-source projects) and a **Commercial License** (for proprietary/closed-source applications).
::: tip Full Details
For complete licensing information, delivery details, AGPL component notices, and invoicing, visit our [Licensing Page](https://www.bentopdf.com/licensing).
:::
## Get a Commercial License
**[Get Lifetime License for $79](https://buy.polar.sh/polar_cl_ThDfffbl733x7oAodcIryCzhlO57ZtcWPq6HJ1qMChd)**. A one-time purchase that includes all future updates forever.
## When Do You Need a Commercial License?
| Use Case | License Required |
| ------------------------------------------- | ---------------------- |
| Open-source project with public source code | AGPL-3.0 (Free) |
| Internal company tool (not distributed) | AGPL-3.0 (Free) |
| Proprietary/closed-source application | **Commercial License** |
| SaaS product without source code disclosure | **Commercial License** |
| Redistributing without AGPL compliance | **Commercial License** |
## Delivery & Licensing Model
- **No license key is required or provided.** BentoPDF intentionally does not use license keys to streamline deployment and reduce operational friction for users.
- Upon purchase, users receive a ZIP archive containing the complete BentoPDF source code and binaries.
- The source code provided is identical to the code published in our public open-source repository.
**GitHub Repository:** [github.com/alam00000/bentopdf](https://github.com/alam00000/bentopdf)
## Important Notice on Third-Party Components
::: info AGPL Components — Pre-configured via CDN
BentoPDF **does not bundle** AGPL-licensed processing libraries in its source code. These components are loaded at runtime from CDN URLs that are **pre-configured by default** — all features work out of the box with zero setup.
| Component | License | Status |
| --------------- | -------- | ---------------------- |
| **PyMuPDF** | AGPL-3.0 | Pre-configured via CDN |
| **Ghostscript** | AGPL-3.0 | Pre-configured via CDN |
| **CoherentPDF** | AGPL-3.0 | Pre-configured via CDN |
WASM module URLs are configured via environment variables at build time (`.env.production`). The defaults point to jsDelivr CDN. For custom deployments (air-gapped, self-hosted), you can override via environment variables, Docker build args, or per-user via **Advanced Settings** in the UI.
See [Self-Hosting > WASM Configuration](/ar/self-hosting/#إعداد-wasm-مكونات-agpl) for details.
This approach ensures:
- BentoPDF's core code remains under its dual-license (AGPL-3.0 / Commercial)
- WASM binaries are loaded at runtime, not included in the source
- Clear compliance boundaries for commercial users
:::
::: tip Commercial License & AGPL Features
The commercial license covers BentoPDF's own code. If you configure and use AGPL components (PyMuPDF, Ghostscript, CoherentPDF), you must still comply with their respective AGPL-3.0 license terms, which may require source code disclosure if you distribute modified versions.
:::
## Invoicing
- Payments are handled by [Polar](https://polar.sh), which automatically emails an invoice after purchase.
- Polar handles VAT invoices for businesses in applicable regions. Select **"I'm purchasing as a business"** at checkout and enter your billing address and Tax/VAT number.
**Questions?** Contact [[email protected]](mailto:[email protected]) with your purchase details.
## What's Included
| Feature | Included |
| ----------------------------- | -------------- |
| Full source code | ✅ |
| All 50+ PDF tools | ✅ |
| Self-hosting rights | ✅ |
| Lifetime updates | ✅ |
| Remove branding (Simple Mode) | ✅ |
| Commercial support | ✅ (via email) |
| Priority feature requests | ✅ |
## FAQ
### Do I need a license key to use BentoPDF?
No. BentoPDF does not use license keys. The commercial license grants you legal rights to use the software in proprietary applications.
### Can I use BentoPDF in my SaaS product?
Yes, with a commercial license. Without it, you must comply with AGPL-3.0, which requires you to make your full source code available to users.
### What about the AGPL components?
Components like CoherentPDF are licensed under AGPL v3 and remain under that license. The commercial license covers BentoPDF's own code but does not override third-party AGPL obligations.
### How do I get an invoice?
Polar emails your invoice automatically after purchase. For a VAT invoice, select "I'm purchasing as a business" at checkout. If you need anything else, email [[email protected]](mailto:[email protected]) with your purchase details.
+275
View File
@@ -0,0 +1,275 @@
# النشر باستخدام Apache
استضف BentoPDF باستخدام خادم Apache HTTP.
## المتطلبات
- Apache 2.4+
- تفعيل mod_rewrite
- شهادة SSL (موصى بها)
## الخطوة 1: بناء المشروع
```bash
git clone https://github.com/alam00000/bentopdf.git
cd bentopdf
npm install
npm run build
```
لتخصيص العلامة التجارية، عيّن متغيرات البيئة قبل البناء:
```bash
VITE_BRAND_NAME="AcmePDF" VITE_BRAND_LOGO="images/acme-logo.svg" npm run build
```
## الخطوة 2: نسخ الملفات
```bash
sudo mkdir -p /var/www/bentopdf
sudo cp -r dist/* /var/www/bentopdf/
sudo chown -R www-data:www-data /var/www/bentopdf
```
## الخطوة 3: إعداد Apache
أنشئ `/etc/apache2/sites-available/bentopdf.conf`:
```apache
<VirtualHost *:80>
ServerName your-domain.com
Redirect permanent / https://your-domain.com/
</VirtualHost>
<VirtualHost *:443>
ServerName your-domain.com
DocumentRoot /var/www/bentopdf
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/your-domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/your-domain.com/privkey.pem
<Directory /var/www/bentopdf>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
# WASM MIME type
AddType application/wasm .wasm
# Prevent double-compression of pre-compressed files
SetEnvIfNoCase Request_URI "\.gz$" no-gzip
# Compression
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css application/javascript application/json application/wasm
</IfModule>
# Cache headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/wasm "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
</IfModule>
# Required headers for SharedArrayBuffer (LibreOffice WASM)
Header always set Cross-Origin-Embedder-Policy "require-corp"
Header always set Cross-Origin-Opener-Policy "same-origin"
Header always set Cross-Origin-Resource-Policy "cross-origin"
# Security headers
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
# Pre-compressed LibreOffice WASM files
<FilesMatch "soffice\.wasm\.gz$">
ForceType application/wasm
Header set Content-Encoding "gzip"
</FilesMatch>
<FilesMatch "soffice\.data\.gz$">
ForceType application/octet-stream
Header set Content-Encoding "gzip"
</FilesMatch>
</VirtualHost>
```
## الخطوة 4: ملف .htaccess للتوجيه
أنشئ `/var/www/bentopdf/.htaccess`:
```apache
RewriteEngine On
RewriteBase /
# Existing files/dirs - serve directly
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# ============================================
# LANGUAGE ROUTES
# ============================================
# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt
# English has no prefix - served from root
# English prefix redirects to root
RewriteRule ^en/?$ / [R=301,L]
RewriteRule ^en/(.+)$ /$1 [R=301,L]
# Language prefix root (e.g., /de/ -> /de/index.html)
RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f
RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L]
# Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html)
RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f
RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L]
# ============================================
# ADD .HTML EXTENSION (ROOT LEVEL)
# ============================================
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^([^/]+)$ $1.html [L]
ErrorDocument 404 /404.html
```
## الخطوة 5: تفعيل الوحدات المطلوبة
```bash
sudo a2enmod rewrite
sudo a2enmod ssl
sudo a2enmod headers
sudo a2enmod expires
sudo a2enmod deflate
```
## الخطوة 6: تفعيل الموقع
```bash
sudo a2ensite bentopdf.conf
sudo apache2ctl configtest
sudo systemctl reload apache2
```
## النشر في مجلد فرعي
للاستضافة على المسار `/pdf/`:
1. ابنِ المشروع مع عنوان أساسي (base URL):
```bash
BASE_URL=/pdf/ npm run build
```
2. حدّث `.htaccess`:
```apache
RewriteEngine On
RewriteBase /pdf/
# Existing files/dirs - serve directly
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Language routes
RewriteRule ^en/?$ /pdf/ [R=301,L]
RewriteRule ^en/(.+)$ /pdf/$1 [R=301,L]
RewriteCond %{DOCUMENT_ROOT}/pdf/$1/index.html -f
RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf/$1/index.html [L]
RewriteCond %{DOCUMENT_ROOT}/pdf/$1/$2.html -f
RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf/$1/$2.html [L]
# Root level .html extension
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^([^/]+)$ $1.html [L]
ErrorDocument 404 /pdf/404.html
```
## استكشاف الأخطاء وإصلاحها
### أخطاء WASM 404
تأكد من ضبط نوع MIME:
```apache
AddType application/wasm .wasm
```
### أداة توقيع PDF أو تعبئة النماذج تعرض عارضًا فارغًا (خطأ MIME لملفات `.mjs`)
إذا ظهر في وحدة تحكم المتصفح:
```
Failed to load module script: The server responded with a non-JavaScript
MIME type of "application/octet-stream". Strict MIME type checking is
enforced for module scripts per HTML spec.
```
...وكان الطلب الفاشل ينتهي بـ `.mjs`، فإن إعداد Apache لديك يفتقد الربط `.mjs → application/javascript`. يتضمن عارض PDF المدمج ملفات وحدات ES بامتداد `.mjs`، ولا يشملها ملف `mime.types` الافتراضي في Apache.
أضف التالي إلى VirtualHost أو إلى `.htaccess`:
```apache
AddType application/javascript .mjs
```
ثم أعد تحميل Apache:
```bash
sudo apache2ctl configtest && sudo systemctl reload apache2
```
للتأكد: في أدوات المطوّر بالمتصفح (DevTools) ← تبويب Network، ابحث عن طلب `.mjs` الفاشل وافحص ترويسة الاستجابة `Content-Type`. يجب أن تكون الآن `application/javascript` وليست `application/octet-stream`.
### إعادة الكتابة لا تعمل
تأكد من تفعيل mod_rewrite:
```bash
sudo a2enmod rewrite
```
### تحويل Word/ODT/Excel إلى PDF لا يعمل
يتطلب LibreOffice WASM وجود `SharedArrayBuffer`، وهذا يحتاج إلى هذه الترويسات:
```apache
Header always set Cross-Origin-Embedder-Policy "require-corp"
Header always set Cross-Origin-Opener-Policy "same-origin"
```
ويحتاج أيضًا إلى سياق آمن. يعمل `http://localhost` للاختبار المحلي، لكن `http://192.168.x.x` أو غيره من عناوين الشبكة المحلية يتطلب عادةً HTTPS. إذا كانت الترويسات موجودة لكن `window.crossOriginIsolated` ما زالت `false`، فتحقق مما إذا كانت الصفحة تُفتح عبر HTTP عادي من مصدر ليس عنوان الحلقة المحلية.
كما تحتاج ملفات `.wasm.gz` و`.data.gz` المضغوطة مسبقًا إلى `Content-Encoding` صحيح:
```apache
<FilesMatch "soffice\.wasm\.gz$">
ForceType application/wasm
Header set Content-Encoding "gzip"
</FilesMatch>
<FilesMatch "soffice\.data\.gz$">
ForceType application/octet-stream
Header set Content-Encoding "gzip"
</FilesMatch>
```
تأكد من تفعيل `mod_headers`: `sudo a2enmod headers`
### تم رفض الإذن
```bash
sudo chown -R www-data:www-data /var/www/bentopdf
sudo chmod -R 755 /var/www/bentopdf
```
+200
View File
@@ -0,0 +1,200 @@
# النشر على AWS S3 + CloudFront
استضف BentoPDF على AWS للحصول على أقصى تحكم وقابلية للتوسع.
## البنية
```
User → CloudFront (CDN) → S3 (Static Files)
```
## الخطوة 1: إنشاء حاوية S3
```bash
# Create bucket
aws s3 mb s3://your-bentopdf-bucket --region us-east-1
# Enable static website hosting
aws s3 website s3://your-bentopdf-bucket \
--index-document index.html \
--error-document index.html
```
## الخطوة 2: البناء والرفع
```bash
# Build the project (optionally with custom branding)
# VITE_BRAND_NAME="AcmePDF" VITE_BRAND_LOGO="images/acme-logo.svg" npm run build
npm run build
# Sync to S3
aws s3 sync dist/ s3://your-bentopdf-bucket \
--delete \
--cache-control "max-age=31536000"
# Set correct MIME types for WASM
aws s3 cp s3://your-bentopdf-bucket/ s3://your-bentopdf-bucket/ \
--recursive \
--exclude "*" \
--include "*.wasm" \
--content-type "application/wasm" \
--metadata-directive REPLACE
# Set correct MIME type for ES module files (.mjs)
# S3 defaults .mjs to application/octet-stream, which browsers refuse to
# execute as ES modules. The bundled PDF viewer (Sign PDF, Form Filler)
# ships ES modules with .mjs extensions and will fail without this step.
aws s3 cp s3://your-bentopdf-bucket/ s3://your-bentopdf-bucket/ \
--recursive \
--exclude "*" \
--include "*.mjs" \
--content-type "application/javascript" \
--metadata-directive REPLACE
```
## الخطوة 3: إنشاء توزيع CloudFront
```bash
aws cloudfront create-distribution \
--origin-domain-name your-bentopdf-bucket.s3.amazonaws.com \
--default-root-object index.html
```
أو استخدم وحدة تحكم AWS:
1. انتقل إلى CloudFront ← Create distribution
2. Origin domain: اختر حاوية S3 الخاصة بك
3. فعّل "Origin Access Control"
4. Default root object: `index.html`
5. أنشئ التوزيع (Create distribution)
## الخطوة 3b: سياسة ترويسات الاستجابة (مطلوبة لـ LibreOffice WASM)
تتطلب التحويلات المعتمدة على LibreOffice (من Word وExcel وPowerPoint إلى PDF) وجود `SharedArrayBuffer`، وهذا يحتاج إلى ترويسات استجابة محددة. أنشئ سياسة ترويسات استجابة في CloudFront:
1. انتقل إلى CloudFront ← Policies ← Response headers
2. أنشئ سياسة مخصصة بهذه الترويسات:
| الترويسة | القيمة |
| ------------------------------ | -------------- |
| `Cross-Origin-Embedder-Policy` | `require-corp` |
| `Cross-Origin-Opener-Policy` | `same-origin` |
| `Cross-Origin-Resource-Policy` | `cross-origin` |
3. اربط السياسة بسلوك التخزين المؤقت الافتراضي لتوزيعك
أو عبر سطر الأوامر:
```bash
aws cloudfront create-response-headers-policy \
--response-headers-policy-config '{
"Name": "BentoPDF-COEP-COOP",
"CustomHeadersConfig": {
"Quantity": 3,
"Items": [
{"Header": "Cross-Origin-Embedder-Policy", "Value": "require-corp", "Override": true},
{"Header": "Cross-Origin-Opener-Policy", "Value": "same-origin", "Override": true},
{"Header": "Cross-Origin-Resource-Policy", "Value": "cross-origin", "Override": true}
]
}
}'
```
## الخطوة 3c: بيانات S3 الوصفية لملفات WASM المضغوطة مسبقًا
ملفات LibreOffice WASM مضغوطة مسبقًا (`.wasm.gz` و`.data.gz`). اضبط Content-Type وContent-Encoding الصحيحين لكي تفك المتصفحات ضغطها:
```bash
# Set correct headers for soffice.wasm.gz
aws s3 cp s3://your-bentopdf-bucket/libreoffice-wasm/soffice.wasm.gz \
s3://your-bentopdf-bucket/libreoffice-wasm/soffice.wasm.gz \
--content-type "application/wasm" \
--content-encoding "gzip" \
--metadata-directive REPLACE
# Set correct headers for soffice.data.gz
aws s3 cp s3://your-bentopdf-bucket/libreoffice-wasm/soffice.data.gz \
s3://your-bentopdf-bucket/libreoffice-wasm/soffice.data.gz \
--content-type "application/octet-stream" \
--content-encoding "gzip" \
--metadata-directive REPLACE
```
::: warning مهم
بدون سياسة ترويسات الاستجابة، لن يتوفر `SharedArrayBuffer` وستتوقف تحويلات LibreOffice WASM عند نحو 55%. وبدون Content-Encoding الصحيح على ملفات `.gz`، يستلم المتصفح بايتات gzip الخام ويفشل تجميع WASM.
:::
## الخطوة 4: سياسة حاوية S3
اسمح لـ CloudFront بالوصول إلى الحاوية:
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowCloudFrontAccess",
"Effect": "Allow",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bentopdf-bucket/*",
"Condition": {
"StringEquals": {
"AWS:SourceArn": "arn:aws:cloudfront::ACCOUNT_ID:distribution/DISTRIBUTION_ID"
}
}
}
]
}
```
## الخطوة 5: صفحات الخطأ المخصصة
اضبط الخطأ 404 ليعيد `index.html` لتوجيه تطبيق الصفحة الواحدة (SPA):
1. CloudFront ← Error pages
2. أنشئ استجابة خطأ مخصصة:
- HTTP error code: 404
- Response page path: `/index.html`
- HTTP response code: 200
## تقدير التكلفة
| المورد | التكلفة التقديرية |
| --------------------- | ----------------- |
| تخزين S3 (~500MB) | ~$0.01/شهريًا |
| CloudFront (نقل 1TB) | ~$85/شهريًا |
| CloudFront (نقل 10GB) | ~$0.85/شهريًا |
::: tip
استخدم S3 Intelligent Tiering لتحسين التكلفة للملفات التي نادرًا ما يُوصل إليها.
:::
## الأتمتة باستخدام Terraform
```hcl
# main.tf
resource "aws_s3_bucket" "bentopdf" {
bucket = "your-bentopdf-bucket"
}
resource "aws_cloudfront_distribution" "bentopdf" {
origin {
domain_name = aws_s3_bucket.bentopdf.bucket_regional_domain_name
origin_id = "S3Origin"
}
enabled = true
default_root_object = "index.html"
default_cache_behavior {
allowed_methods = ["GET", "HEAD"]
cached_methods = ["GET", "HEAD"]
target_origin_id = "S3Origin"
viewer_protocol_policy = "redirect-to-https"
}
}
```
+154
View File
@@ -0,0 +1,154 @@
# النشر على Cloudflare Pages
يوفر [Cloudflare Pages](https://pages.cloudflare.com) استضافة سريعة وعالمية للمواقع الثابتة مع نطاق ترددي غير محدود.
## نشر سريع
1. انتقل إلى [Cloudflare Pages](https://dash.cloudflare.com/?to=/:account/pages)
2. انقر على "Create a project"
3. اربط مستودع GitHub الخاص بك
## إعدادات البناء
| الإعداد | القيمة |
| ---------------------- | --------------- |
| Framework preset | None |
| Build command | `npm run build` |
| Build output directory | `dist` |
| Root directory | `/` |
## متغيرات البيئة
أضف هذه في Settings ← Environment variables:
| المتغير | القيمة |
| ----------------------- | ------------------------------------------ |
| `NODE_VERSION` | `18` |
| `SIMPLE_MODE` | `false` (اختياري) |
| `VITE_BRAND_NAME` | اسم العلامة التجارية (اختياري) |
| `VITE_BRAND_LOGO` | مسار الشعار نسبةً إلى `public/` (اختياري) |
| `VITE_FOOTER_TEXT` | نص التذييل/حقوق النشر (اختياري) |
| `VITE_DEFAULT_LANGUAGE` | لغة الواجهة الافتراضية، مثل `fr` (اختياري) |
## ملف الإعدادات
أنشئ `_headers` في مجلد `public`:
```
# Required security headers for SharedArrayBuffer (used by LibreOffice WASM)
/*
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Resource-Policy: cross-origin
# Pre-compressed LibreOffice WASM binary
/libreoffice-wasm/soffice.wasm.gz
Content-Type: application/wasm
Content-Encoding: gzip
Cache-Control: public, max-age=31536000, immutable
# Pre-compressed LibreOffice WASM data
/libreoffice-wasm/soffice.data.gz
Content-Type: application/octet-stream
Content-Encoding: gzip
Cache-Control: public, max-age=31536000, immutable
# Cache WASM files aggressively
/*.wasm
Cache-Control: public, max-age=31536000, immutable
Content-Type: application/wasm
# Service worker
/sw.js
Cache-Control: no-cache
```
::: warning مهم
الترويستان `Cross-Origin-Embedder-Policy` و`Cross-Origin-Opener-Policy` مطلوبتان لتحويلات Word/ODT/Excel/PowerPoint إلى PDF. بدونهما لن يتوفر `SharedArrayBuffer` وسيفشل محرك LibreOffice WASM في التهيئة.
:::
أنشئ `_redirects` لتوجيه تطبيق الصفحة الواحدة (SPA):
```
/* /index.html 200
```
## نطاق مخصص
1. انتقل إلى مشروع Pages الخاص بك
2. انقر على "Custom domains"
3. أضف نطاقك
4. سيضبط Cloudflare إعدادات DNS تلقائيًا إذا كان النطاق على Cloudflare
## المزايا
- **نطاق ترددي غير محدود ومجاني**
- **شبكة CDN عالمية** بأكثر من 300 موقع طرفي
- **HTTPS تلقائي**
- **عمليات نشر معاينة** لطلبات السحب
- **بناء سريع**
## استكشاف الأخطاء وإصلاحها
### رفع الملفات الكبيرة
يدعم Cloudflare Pages ملفات حتى 25 MB. يفترض أن تعمل وحدات WASM بدون مشكلة، لكن إذا وصلت إلى الحدود، فجرّب:
```bash
# Split large files during build
npm run build
```
### حدود حجم Worker
إذا كنت تستخدم Cloudflare Workers للتوجيه المتقدم، فانتبه إلى حد 1 MB في الخطط المجانية.
## Worker وكيل CORS (للتوقيعات الرقمية)
تتطلب أداة التوقيع الرقمي وكيل CORS لجلب سلاسل الشهادات. انشر الـ Worker المضمّن:
```bash
cd cloudflare
npx wrangler login
npx wrangler deploy
```
### ميزات الأمان
| الميزة | الوصف |
| ------------------------ | --------------------------------- |
| **قيود الروابط** | يُسمح بروابط الشهادات فقط |
| **حد حجم الملف** | حتى 10MB لكل طلب |
| **تحديد المعدل** | 60 طلبًا/IP/دقيقة (يتطلب KV) |
| **حظر عناوين IP الخاصة** | يحظر localhost والعناوين الداخلية |
### تفعيل تحديد المعدل
```bash
# Create KV namespace
npx wrangler kv namespace create "RATE_LIMIT_KV"
# Add to wrangler.toml with returned ID:
# [[kv_namespaces]]
# binding = "RATE_LIMIT_KV"
# id = "YOUR_ID"
npx wrangler deploy
```
### البناء مع رابط الوكيل
```bash
VITE_CORS_PROXY_URL=https://your-worker.workers.dev npm run build
```
أو باستخدام Docker:
```bash
export VITE_CORS_PROXY_URL="https://your-worker.workers.dev"
DOCKER_BUILDKIT=1 docker build \
--secret id=VITE_CORS_PROXY_URL,env=VITE_CORS_PROXY_URL \
-t your-bentopdf .
```
> **ملاحظة:** راجع [README](https://github.com/alam00000/bentopdf#digital-signature-cors-proxy-required) لإعداد توقيع HMAC.
+180
View File
@@ -0,0 +1,180 @@
# وكيل CORS لجلب الشهادات
تستخدم أداة التوقيع الرقمي وكيل CORS لجلب شهادات الجهات المُصدِرة من جهات إصدار الشهادات (CA) الخارجية. هذا ضروري لأن كثيرًا من خوادم CA لا تتضمن ترويسات CORS في استجاباتها، مما يمنع الجلب المباشر من المتصفح.
إضافة إلى ذلك، تقدّم كثير من خوادم CA الشهادات عبر HTTP عادي. وعندما تكون نسخة BentoPDF لديك مستضافة عبر HTTPS، تحظر المتصفحات هذه الطلبات (سياسة المحتوى المختلط). يحل وكيل CORS المشكلتين بتوجيه الطلبات عبر نقطة HTTPS بترويسات صحيحة.
## كيف يعمل
عند توقيع ملف PDF بشهادة:
1. تحاول مكتبة `zgapdfsigner` بناء سلسلة شهادات كاملة
2. تجلب شهادات الجهات المُصدِرة من الروابط المضمّنة في امتداد AIA (Authority Information Access) في شهادتك
3. تُوجَّه هذه الطلبات عبر وكيل CORS يضيف ترويسات `Access-Control-Allow-Origin` اللازمة
4. يعيد الوكيل بيانات الشهادة إلى المتصفح
## استضافة وكيل CORS ذاتيًا
إذا كنت تستضيف BentoPDF ذاتيًا، فستحتاج إلى نشر وكيل CORS خاص بك لكي تعمل التوقيعات الرقمية مع الشهادات التي تتطلب جلب السلسلة.
### الخيار 1: Cloudflare Workers (موصى به)
1. **ثبّت Wrangler CLI**:
```bash
npm install -g wrangler
```
2. **سجّل الدخول إلى Cloudflare**:
```bash
wrangler login
```
3. **انسخ BentoPDF وحدّث المصادر المسموح بها**:
```bash
git clone https://github.com/alam00000/bentopdf.git
cd bentopdf/cloudflare
```
افتح `cors-proxy-worker.js` وغيّر المصفوفة `ALLOWED_ORIGINS` إلى نطاقك:
```js
const ALLOWED_ORIGINS = [
'https://your-domain.com',
'https://www.your-domain.com',
];
```
::: warning مهم
بدون هذا التغيير، سيرفض الوكيل كل الطلبات القادمة من موقعك بخطأ **403 Forbidden**. الإعداد الافتراضي يسمح فقط بالطلبات القادمة من `bentopdf.com`.
:::
4. **انشر الوكيل**:
```bash
wrangler deploy
```
دوّن رابط الـ Worker الخاص بك (مثل `https://bentopdf-cors-proxy.your-subdomain.workers.dev`).
5. **أعد بناء BentoPDF مع رابط الوكيل**:
إذا كنت تستخدم Docker:
```bash
export VITE_CORS_PROXY_URL="https://your-worker.workers.dev"
DOCKER_BUILDKIT=1 docker build \
--secret id=VITE_CORS_PROXY_URL,env=VITE_CORS_PROXY_URL \
-t your-bentopdf .
```
إذا كنت تبني من المصدر:
```bash
VITE_CORS_PROXY_URL=https://your-worker.workers.dev npm run build
```
### الخيار 2: وكيل خلفي مخصص
يمكنك أيضًا إنشاء نقطة وكيل خاصة بك. المتطلبات هي:
1. قبول طلبات GET مع معامل الاستعلام `url`
2. جلب الرابط من خادمك (لا توجد قيود CORS على جهة الخادم)
3. إرجاع الاستجابة بهذه الترويسات:
- `Access-Control-Allow-Origin: https://your-domain.com`
- `Access-Control-Allow-Methods: GET, OPTIONS`
- `X-Content-Type-Options: nosniff`
مثال على تنفيذ باستخدام Express.js:
```javascript
app.get('/api/cert-proxy', async (req, res) => {
const targetUrl = req.query.url;
// Validate it's a certificate URL
if (!isValidCertUrl(targetUrl)) {
return res.status(400).json({ error: 'Invalid URL' });
}
try {
const response = await fetch(targetUrl);
const data = await response.arrayBuffer();
res.set('Access-Control-Allow-Origin', 'https://your-domain.com');
res.set('Content-Type', 'application/octet-stream');
res.set('X-Content-Type-Options', 'nosniff');
res.send(Buffer.from(data));
} catch (error) {
res.status(500).json({ error: 'Proxy error' });
}
});
```
## اعتبارات الأمان
يتضمن Cloudflare Worker المرفق عدة إجراءات أمنية:
| الميزة | الوصف |
| ------------------------ | -------------------------------------------------------------------------------------------------- |
| **التحقق من المصدر** | يسمح فقط بالطلبات القادمة من النطاقات المدرجة في `ALLOWED_ORIGINS` |
| **قيود الروابط** | يسمح فقط بروابط الشهادات (`.crt` و`.cer` و`.pem` و`/certs/` و`/ocsp` و`/crl`) |
| **حظر عناوين IP الخاصة** | يحظر النطاقات الخاصة في IPv4/IPv6 وlink-local وloopback وعناوين IP العشرية وبيانات السحابة الوصفية |
| **أمان Content-Type** | يعيد أنواع MIME الآمنة للشهادات فقط، ويمنع حقن content-type من المصدر |
| **حد حجم الملف** | يبثّ الاستجابة بحد 10MB ويقطع التنزيل في منتصفه إذا تم تجاوزه |
| **تحديد المعدل** | 60 طلبًا في الدقيقة لكل IP أو IPv6 /64 (يتطلب KV، ويسمح بالمرور عند أخطاء KV) |
| **توقيعات HMAC** | توقيع اختياري من جهة العميل (يردع الاستغلال العابر) |
### إعادة ربط DNS (عند الاستضافة الذاتية خارج Cloudflare)
يرفض الـ Worker أي رابط يُحلّ إلى عنوان IP خاص أو داخلي. ولا يمكنه استخدام قائمة ثابتة بالمضيفين المسموح بهم، لأن روابط سلسلة الشهادات تشير إلى أي جهة CA أصدرت الشهادة (FNMT وجهات CA المؤسسية وغيرها)، فلا تُعرف الوجهات مسبقًا. وهذا يترك نافذة صغيرة لإعادة الربط: يمكن لمن يدير DNS لنطاقه أن يعطي فحص الأمان عنوان IP عامًا، ثم يعطي الطلب الفعلي عنوانًا خاصًا بعد لحظة.
على Cloudflare لا يمكن استغلال ذلك: لا تستطيع Workers الوصول إلى عناوين IP الخاصة ولا إلى نقطة البيانات الوصفية `169.254.169.254`، فتنتهي إعادة الربط إلى لا شيء. فقط لا تمنح الـ Worker طريقًا إلى الداخل: لا تربط Tunnel أو Service أو ربطًا بشبكة خاصة (فهو يحتاج فقط إلى `RATE_LIMIT_KV`).
إذا شغّلته خارج Cloudflare (workerd أو Node وما شابههما) داخل VPC، فإن بيئة التشغيل _تستطيع_ الوصول إلى عناوين IP الداخلية. ضع جدار حماية للحركة الصادرة أمامه واحظر النطاقات الخاصة: `10.0.0.0/8` و`172.16.0.0/12` و`192.168.0.0/16` و`127.0.0.0/8` و`169.254.0.0/16` ونظائرها في IPv6. لا يمكن لكود التطبيق فرض ذلك بمجرد أن تخرج من Cloudflare.
## تعطيل الوكيل
إذا كنت لا تريد استخدام وكيل CORS، فاضبط متغير البيئة على سلسلة فارغة:
```
VITE_CORS_PROXY_URL=
```
**ملاحظة**: بدون الوكيل، سيفشل التوقيع بالشهادات التي تتطلب جلب سلسلة خارجية (مثل FNMT أو بعض جهات CA المؤسسية) بخطأ "Failed to fetch".
## استكشاف الأخطاء وإصلاحها
### "Signing error: TypeError: Failed to fetch"
يعني هذا عادةً أحد الأمرين:
1. **لم يُضبط وكيل CORS**: عيّن `VITE_CORS_PROXY_URL` وأعد البناء
2. **حظر المحتوى المختلط**: موقعك يعمل عبر HTTPS لكن رابط مُصدِر الشهادة يعمل عبر HTTP. يحل وكيل CORS هذه المشكلة.
3. **وكيل CORS يرفض مصدرك**: تأكد من وجود نطاقك في المصفوفة `ALLOWED_ORIGINS` في `cors-proxy-worker.js`
### خطأ "403 Forbidden" من الوكيل
نطاقك غير موجود في قائمة `ALLOWED_ORIGINS`. عدّل `cors-proxy-worker.js`:
```js
const ALLOWED_ORIGINS = ['https://your-domain.com'];
```
ثم أعد النشر: `npx wrangler deploy`
### اختبار الوكيل
```bash
curl -H "Origin: https://your-domain.com" \
"https://your-proxy.workers.dev?url=http://www.cert.fnmt.es/certs/ACUSU.crt"
```
### الشهادات التي تعمل بدون وكيل
تتضمن بعض الشهادات السلسلة كاملة في ملف P12/PFX ولا تتطلب جلبًا خارجيًا:
- الشهادات الموقّعة ذاتيًا
- بعض جهات CA التجارية التي تضمّن الشهادات الوسيطة
- الشهادات التي جمعتَ سلسلتها الكاملة يدويًا
+622
View File
@@ -0,0 +1,622 @@
# النشر باستخدام Docker / Podman
أسهل طريقة لاستضافة BentoPDF ذاتيًا في بيئة إنتاج.
> [!IMPORTANT]
> **الترويسات المطلوبة لتحويل ملفات Office**
>
> تتطلب الأدوات المعتمدة على LibreOffice (تحويل Word وExcel وPowerPoint) ترويسات HTTP هذه لدعم `SharedArrayBuffer`:
>
> - `Cross-Origin-Opener-Policy: same-origin`
> - `Cross-Origin-Embedder-Policy: require-corp`
>
> يجب أيضًا تقديم الصفحة من سياق آمن. يعمل `http://localhost` للاختبار المحلي، لكن `http://192.168.x.x` أو غيره من عناوين الشبكة المحلية لا يُعد مؤهلًا عادةً، لذا سيفشل تحويل Office عبر HTTP العادي حتى لو كانت الترويسات موجودة.
>
> تتضمن صور الحاويات الرسمية هذه الترويسات. إذا كنت تستخدم وكيلًا عكسيًا (Traefik أو Caddy وغيرهما)، فتأكد من الحفاظ على هذه الترويسات أو إضافتها، واستخدم HTTPS للوصول من غير عنوان الحلقة المحلية.
> [!TIP]
> **مستخدمو Podman:** تعمل جميع أوامر `docker` مع Podman باستبدال `docker` بـ `podman` و`docker-compose` بـ `podman-compose`.
## بداية سريعة
> [!TIP]
> يتوفر BentoPDF بنسختين:
>
> - **نسخة الاستضافة الذاتية**: `ghcr.io/alam00000/bentopdf-simple:latest`. جميع أدوات PDF، **بدون** عناصر التسويق (بلا واجهة رئيسية أو أسئلة شائعة أو آراء مستخدمين أو تذييل). استخدمها لعمليات النشر الداخلية وللفرق والمؤسسات. وهي **ليست** نسخة "مخففة" بميزات أقل.
> - **النسخة التجارية**: `ghcr.io/alam00000/bentopdf:latest`. موقع التسويق الكامل، ويستخدمه bentopdf.com نفسه وأصحاب التراخيص التجارية الذين ينشرون خدمات موجهة للعامة.
>
> إذا كنت غير متأكد: استخدم نسخة الاستضافة الذاتية.
```bash
# Docker
docker run -d \
--name bentopdf \
-p 3000:8080 \
--restart unless-stopped \
ghcr.io/alam00000/bentopdf-simple:latest
# Podman
podman run -d \
--name bentopdf \
-p 3000:8080 \
ghcr.io/alam00000/bentopdf-simple:latest
```
## Docker Compose / Podman Compose
أنشئ `docker-compose.yml`:
```yaml
services:
bentopdf:
image: ghcr.io/alam00000/bentopdf-simple:latest
container_name: bentopdf
ports:
- '3000:8080'
restart: unless-stopped
healthcheck:
test: ['CMD', 'wget', '--spider', '-q', 'http://localhost:8080']
interval: 30s
timeout: 10s
retries: 3
```
شغّل:
```bash
# Docker Compose
docker compose up -d
# Podman Compose
podman-compose up -d
```
## بناء صورتك الخاصة
```dockerfile
# Dockerfile
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginxinc/nginx-unprivileged:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]
```
ابنِ وشغّل:
```bash
docker build -t bentopdf:custom .
docker run -d -p 3000:8080 bentopdf:custom
```
## متغيرات البيئة
| المتغير | الوصف | الافتراضي |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| `SIMPLE_MODE` | بناء نسخة الاستضافة الذاتية (تخفي عناصر تسويق bentopdf.com: الواجهة الرئيسية والأسئلة الشائعة وآراء المستخدمين والتذييل). تبقى جميع أدوات PDF. | `false` |
| `BASE_URL` | النشر في مجلد فرعي | `/` |
| `VITE_WASM_PYMUPDF_URL` | عنوان وحدة PyMuPDF WASM | `https://cdn.jsdelivr.net/npm/@bentopdf/[email protected]/` |
| `VITE_WASM_GS_URL` | عنوان وحدة Ghostscript WASM | `https://cdn.jsdelivr.net/npm/@bentopdf/[email protected]/assets/` |
| `VITE_WASM_CPDF_URL` | عنوان وحدة CoherentPDF WASM | `https://cdn.jsdelivr.net/npm/[email protected]/dist/` |
| `VITE_TESSERACT_WORKER_URL` | عنوان سكربت عامل OCR | _(فارغ؛ يستخدم CDN الافتراضي لـ Tesseract.js)_ |
| `VITE_TESSERACT_CORE_URL` | مجلد بيئة OCR الأساسية | _(فارغ؛ يستخدم CDN الافتراضي لـ Tesseract.js)_ |
| `VITE_TESSERACT_LANG_URL` | مجلد traineddata الخاص بـ OCR | _(فارغ؛ يستخدم CDN الافتراضي لـ Tesseract.js)_ |
| `VITE_TESSERACT_AVAILABLE_LANGUAGES` | لغات OCR المعروضة في الواجهة، مفصولة بفواصل | _(فارغ؛ عرض الفهرس الكامل)_ |
| `VITE_OCR_FONT_BASE_URL` | مجلد خطوط الطبقة النصية لـ OCR | _(فارغ؛ يستخدم روابط خطوط Noto البعيدة)_ |
| `VITE_DEFAULT_LANGUAGE` | لغة الواجهة الافتراضية | `en` |
| `VITE_BRAND_NAME` | اسم العلامة التجارية المخصص | `BentoPDF` |
| `VITE_BRAND_LOGO` | مسار الشعار نسبةً إلى `public/` | `images/favicon-no-bg.svg` |
| `VITE_FOOTER_TEXT` | نص التذييل/حقوق النشر المخصص | `© 2026 BentoPDF. All rights reserved.` |
| `DISABLE_TOOLS` | معرّفات الأدوات المراد إخفاؤها، مفصولة بفواصل | _(فارغ؛ جميع الأدوات مفعّلة)_ |
| `DISABLE_GITHUB_STARS` | تخطي جلب عدد نجوم GitHub عند تحميل الصفحة وحذف `api.github.com` من CSP. عمليات بناء Simple Mode تتخطاه دائمًا. | `false` |
| `SITE_URL` | العنوان العام المكتوب في روابط canonical وhreflang وخريطة الموقع. اتركه على الافتراضي ما لم تكن تريد أن تعامل محركات البحث نشرك كموقع مستقل. | `https://www.bentopdf.com` |
| `ALLOW_INDEXING` | مع `SITE_URL` مخصص، توضع على كل صفحة علامة `noindex` لكي لا تنافس نسختك bentopdf.com في نتائج البحث. اضبطه على `true` للسماح لمحركات البحث بفهرستها. | `false` |
عناوين وحدات WASM مُعدّة مسبقًا بقيم CDN افتراضية، فتعمل جميع الميزات المتقدمة مباشرة. غيّرها في عمليات النشر المعزولة عن الإنترنت أو المستضافة ذاتيًا.
### محركات البحث
افتراضيًا، تشير كل صفحة محركات البحث إلى bentopdf.com بوصفه الأصل، فلا يظهر نشرك كنسخة مكررة. لا تحتاج إلى تغيير أي شيء لنسخة خاصة أو داخلية.
- **إبقاء نسختك خارج نتائج البحث تمامًا:** شغّل الحاوية مع `-e ROBOTS_NOINDEX=true`. يتطلب هذا إعادة تشغيل فقط، وليس إعادة بناء.
- **جعل نسختك موقعًا مستقلًا في نتائج البحث:** ابنِ مع `--build-arg SITE_URL=https://your-domain.example --build-arg ALLOW_INDEXING=true`. بدون `ALLOW_INDEXING=true`، يضع `SITE_URL` المخصص وسم `noindex` على كل صفحة.
### Content-Security-Policy
تأتي صورة nginx مع ترويسة `Content-Security-Policy` مُفعَّلة. توجيهات `script-src` و`connect-src` و`font-src` في CSP **تُولَّد وقت البناء** من متغيرات الروابط `VITE_*` أعلاه، وأي مضيفات تمررها عبر `--build-arg` تُضاف تلقائيًا إلى السياسة.
ونتيجة لذلك:
- إذا غيّرت `VITE_CORS_PROXY_URL` أو `VITE_WASM_*_URL` وقت البناء، تسمح CSP بهذه المصادر تلقائيًا، دون إعداد إضافي.
- بالنسبة للروابط على `cdn.jsdelivr.net`، يسمح `script-src` بمجلد الحزمة المُرقَّم بدقة فقط، مثل `https://cdn.jsdelivr.net/npm/@bentopdf/[email protected]/`، وليس بكامل CDN. تقدّم jsDelivr أي حزمة npm عامة أو مستودع GitHub، فالسماح بالمضيف كاملًا سيتيح تشغيلها كلها على نسختك. أما الروابط على أي مضيف آخر فيُسمح بها حسب المصدر.
- إذا ضبطت عناوين WASM مخصصة _وقت التشغيل_ عبر صفحة الإعدادات المتقدمة داخل التطبيق، فهذه المصادر **ليست** في CSP وسيحظر المتصفح الجلب منها. وينطبق ذلك أيضًا على إصدار مختلف من الحزمة نفسها على `cdn.jsdelivr.net`، لأن الإصدار المضبوط وقت البناء وحده مسموح. الضبط وقت التشغيل مخصص للتجربة؛ وللعناوين المخصصة الدائمة اضبط معامل البناء `VITE_*` المطابق.
- في عمليات النشر المعزولة عن الإنترنت التي تغيّر قيم `VITE_WASM_*_URL` الثلاث جميعها، تُزال أيضًا مجلدات حزم `cdn.jsdelivr.net` تلك من CSP (يُستبدل كل افتراضي ولا يُضاف إليه). وتبقى القيم الافتراضية لـ Tesseract OCR على `cdn.jsdelivr.net` في السياسة حتى تضبط أيضًا قيم `VITE_TESSERACT_*` الثلاث. وبالمثل، فإن ضبط `VITE_CORS_PROXY_URL` يستبدل الافتراضي العام `bentopdf-cors-proxy.bentopdf.workers.dev`.
تتضمن CSP القيمة `'unsafe-eval'` في `script-src` لأن بيئة LibreOffice WASM (المستخدمة في أدوات تحويل Word/Excel/PowerPoint) ومكتبة الصور wasm-vips (المستخدمة في PDF إلى TIFF) تجمّعان شيفرة توزيع داخلية عبر `new Function()`. إزالتها ستعطّل هذه الأدوات. إذا بنيت بوضع `SIMPLE_MODE` (بدون LibreOffice) ولا تحتاج PDF إلى TIFF، فيمكنك تعديل ملف `security-headers.conf` المُولَّد يدويًا لحذف `'unsafe-eval'` والحصول على سياسة أكثر صرامة.
بالنسبة لـ OCR، اترك متغيرات `VITE_TESSERACT_*` فارغة لاستخدام الأصول الافتراضية عبر الإنترنت، أو اضبطها الثلاثة معًا لـ OCR المستضاف ذاتيًا أو بدون اتصال. تُرفض التغييرات الجزئية لإعدادات OCR لأن العامل والبيئة الأساسية ومجلد traineddata يجب أن تتطابق. وللحصول على ملف PDF قابل للبحث بالكامل دون اتصال، اضبط أيضًا `VITE_OCR_FONT_BASE_URL` لكي تُحمَّل خطوط الطبقة النصية الخاصة بـ OCR من خادمك الداخلي بدل روابط خطوط Noto العامة.
يحدد `VITE_DEFAULT_LANGUAGE` لغة الواجهة للزوار لأول مرة. القيم المدعومة: `en` و`ar` و`be` و`fr` و`de` و`es` و`zh` و`zh-TW` و`vi` و`tr` و`id` و`it` و`pt` و`nl` و`da`. ما زال بإمكان المستخدمين تبديل اللغة، وهذا يغيّر الافتراضي فقط.
مثال:
```bash
# Build with French as the default language
docker build --build-arg VITE_DEFAULT_LANGUAGE=fr -t bentopdf .
docker run -d -p 3000:8080 bentopdf
```
### العلامة التجارية المخصصة
استبدل شعار BentoPDF الافتراضي واسمه ونص التذييل بما يخصك. ضع ملف الشعار في مجلد `public/` (أو استخدم صورة موجودة)، ثم مرّر متغيرات العلامة التجارية وقت البناء:
```bash
docker build \
--build-arg VITE_BRAND_NAME="AcmePDF" \
--build-arg VITE_BRAND_LOGO="images/acme-logo.svg" \
--build-arg VITE_FOOTER_TEXT="© 2026 Acme Corp. Internal use only." \
-t acmepdf .
```
تعمل العلامة التجارية في الوضع الكامل ووضع Simple Mode، ويمكن دمجها مع جميع خيارات وقت البناء الأخرى.
### تعطيل أدوات محددة
أخفِ أدوات من الواجهة لأغراض الامتثال أو الأمان. تُزال الأدوات المعطلة من الصفحة الرئيسية ونتائج البحث واختصارات لوحة المفاتيح ومنشئ سير العمل. يعرض الوصول المباشر عبر الرابط صفحة "الأداة غير متاحة".
معرّف الأداة هو رابط الصفحة بدون `.html`. مثلًا، إذا كانت الأداة على `bentopdf.com/edit-pdf.html`، فالمعرّف هو `edit-pdf`.
#### العثور على معرّفات الأدوات
أسهل طريقة: افتح أي أداة في BentoPDF وانظر إلى الرابط. الجزء الأخير من المسار (بدون `.html`) هو معرّف الأداة.
<details>
<summary>القائمة الكاملة لمعرّفات الأدوات</summary>
**التحرير والتعليق:** `edit-pdf`, `bookmark`, `table-of-contents`, `page-numbers`, `add-page-labels`, `bates-numbering`, `add-watermark`, `header-footer`, `invert-colors`, `scanner-effect`, `adjust-colors`, `background-color`, `text-color`, `sign-pdf`, `add-stamps`, `remove-annotations`, `crop-pdf`, `form-filler`, `form-creator`, `remove-blank-pages`
**التحويل إلى PDF:** `image-to-pdf`, `jpg-to-pdf`, `png-to-pdf`, `webp-to-pdf`, `svg-to-pdf`, `bmp-to-pdf`, `heic-to-pdf`, `tiff-to-pdf`, `txt-to-pdf`, `markdown-to-pdf`, `json-to-pdf`, `csv-to-pdf`, `rtf-to-pdf`, `odt-to-pdf`, `word-to-pdf`, `excel-to-pdf`, `powerpoint-to-pdf`, `xps-to-pdf`, `mobi-to-pdf`, `epub-to-pdf`, `fb2-to-pdf`, `cbz-to-pdf`, `wpd-to-pdf`, `wps-to-pdf`, `xml-to-pdf`, `pages-to-pdf`, `odg-to-pdf`, `ods-to-pdf`, `odp-to-pdf`, `pub-to-pdf`, `vsd-to-pdf`, `psd-to-pdf`, `email-to-pdf`
**التحويل من PDF:** `pdf-to-jpg`, `pdf-to-png`, `pdf-to-webp`, `pdf-to-bmp`, `pdf-to-tiff`, `pdf-to-cbz`, `pdf-to-svg`, `pdf-to-csv`, `pdf-to-excel`, `pdf-to-greyscale`, `pdf-to-json`, `pdf-to-docx`, `extract-images`, `pdf-to-markdown`, `prepare-pdf-for-ai`, `pdf-to-text`
**التنظيم والإدارة:** `ocr-pdf`, `merge-pdf`, `alternate-merge`, `organize-pdf`, `add-attachments`, `extract-attachments`, `edit-attachments`, `pdf-multi-tool`, `pdf-layers`, `extract-tables`, `split-pdf`, `divide-pages`, `extract-pages`, `delete-pages`, `add-blank-page`, `reverse-pages`, `rotate-pdf`, `rotate-custom`, `n-up-pdf`, `pdf-booklet`, `combine-single-page`, `view-metadata`, `edit-metadata`, `pdf-to-zip`, `compare-pdfs`, `posterize-pdf`, `page-dimensions`
**التحسين والإصلاح:** `compress-pdf`, `pdf-to-pdfa`, `fix-page-size`, `linearize-pdf`, `remove-restrictions`, `repair-pdf`, `rasterize-pdf`, `deskew-pdf`, `font-to-outline`
**الأمان:** `encrypt-pdf`, `sanitize-pdf`, `decrypt-pdf`, `flatten-pdf`, `remove-metadata`, `change-permissions`, `digital-sign-pdf`, `validate-signature-pdf`, `timestamp-pdf`
</details>
#### الخيار 1: وقت البناء (معامل بناء Docker)
```bash
docker build \
--build-arg DISABLE_TOOLS="edit-pdf,sign-pdf,encrypt-pdf" \
-t bentopdf .
```
يدمج هذا قائمة الأدوات المعطلة في حزمة JavaScript. يتطلب إعادة بناء لتغييرها.
#### الخيار 2: وقت التشغيل (config.json)
اربط ملف `config.json` في المجلد المقدَّم، دون الحاجة لإعادة بناء:
```json
{
"disabledTools": ["edit-pdf", "sign-pdf", "encrypt-pdf"]
}
```
```bash
docker run -d \
-p 3000:8080 \
-v ./config.json:/usr/share/nginx/html/config.json:ro \
ghcr.io/alam00000/bentopdf-simple:latest
```
أو باستخدام Docker Compose:
```yaml
services:
bentopdf:
image: ghcr.io/alam00000/bentopdf-simple:latest
ports:
- '3000:8080'
volumes:
- ./config.json:/usr/share/nginx/html/config.json:ro
```
يمكن دمج الطريقتين، إذ تُدمج القوائم. إذا ظهرت أداة في أي منهما، فهي معطلة.
#### تعطيل ميزات المحرر
يمكنك أيضًا تعطيل ميزات محددة داخل محرر PDF (مثل التنقيح والتعليقات التوضيحية والنماذج) دون تعطيل أداة المحرر بالكامل. أضف `editorDisabledCategories` إلى `config.json`:
```json
{
"editorDisabledCategories": ["redaction", "annotation-stamp"]
}
```
<details>
<summary>القائمة الكاملة لفئات المحرر</summary>
**التكبير:** `zoom`, `zoom-in`, `zoom-out`, `zoom-fit-page`, `zoom-fit-width`, `zoom-marquee`, `zoom-level`
**التعليقات التوضيحية:** `annotation`, `annotation-markup`, `annotation-highlight`, `annotation-underline`, `annotation-strikeout`, `annotation-squiggly`, `annotation-ink`, `annotation-text`, `annotation-stamp`
**الأشكال:** `annotation-shape`, `annotation-rectangle`, `annotation-circle`, `annotation-line`, `annotation-arrow`, `annotation-polygon`, `annotation-polyline`
**النماذج:** `form`, `form-textfield`, `form-checkbox`, `form-radio`, `form-select`, `form-listbox`, `form-fill-mode`
**التنقيح:** `redaction`, `redaction-area`, `redaction-text`, `redaction-apply`, `redaction-clear`
**المستند:** `document`, `document-open`, `document-close`, `document-print`, `document-capture`, `document-export`, `document-fullscreen`, `document-protect`
**الصفحة:** `page`, `spread`, `rotate`, `scroll`, `navigation`
**اللوحة:** `panel`, `panel-sidebar`, `panel-search`, `panel-comment`
**الأدوات:** `tools`, `pan`, `pointer`, `capture`
**التحديد:** `selection`, `selection-copy`
**السجل:** `history`, `history-undo`, `history-redo`
</details>
الفئات هرمية، فتعطيل فئة أب (مثل `annotation`) يعطّل جميع فئاتها الفرعية.
### تعطيل عداد نجوم GitHub
يعرض شريط التنقل عدد نجوم GitHub الحي، ويُجلب من `api.github.com` عند تحميل الصفحة. وهو الطلب الخارجي الوحيد الذي لا يخدم ميزة PDF. عطّله وقت البناء لإزالة شيفرة الجلب من الحزمة وحذف `api.github.com` من Content-Security-Policy:
```bash
docker build --build-arg DISABLE_GITHUB_STARS=true -t bentopdf .
```
عمليات بناء Simple Mode (`bentopdf-simple`) تتخطى عداد النجوم دائمًا، فهذا الخيار مطلوب فقط في النسخة التجارية أو عمليات البناء الكاملة المخصصة.
### عناوين WASM مخصصة (بيئات معزولة عن الإنترنت / استضافة ذاتية)
> [!IMPORTANT]
> تُدمج عناوين WASM في JavaScript **وقت البناء**. وتُنزَّل ملفات WASM بواسطة **متصفح المستخدم** وقت التشغيل، فلا ينزّلها Docker أثناء البناء. في الشبكات المعزولة عن الإنترنت، يجب استضافة ملفات WASM على خادم داخلي تصل إليه المتصفحات.
**سير العمل الكامل للبيئات المعزولة:**
```bash
# 1. On a machine WITH internet — download WASM packages
bash scripts/prepare-airgap.sh --list-ocr-languages
bash scripts/prepare-airgap.sh --search-ocr-language german
# 2. Download WASM/OCR packages
npm pack @bentopdf/[email protected]
npm pack @bentopdf/gs-wasm
npm pack coherentpdf
npm pack [email protected]
npm pack [email protected]
mkdir -p tesseract-langdata
curl -fsSL https://cdn.jsdelivr.net/npm/@tesseract.js-data/eng/4.0.0_best_int/eng.traineddata.gz -o tesseract-langdata/eng.traineddata.gz
mkdir -p ocr-fonts
curl -fsSL https://raw.githack.com/googlefonts/noto-fonts/main/hinted/ttf/NotoSans/NotoSans-Regular.ttf -o ocr-fonts/NotoSans-Regular.ttf
# 3. Build the image with your internal server URLs
docker build \
--build-arg VITE_WASM_PYMUPDF_URL=https://internal-server.example.com/wasm/pymupdf/ \
--build-arg VITE_WASM_GS_URL=https://internal-server.example.com/wasm/gs/ \
--build-arg VITE_WASM_CPDF_URL=https://internal-server.example.com/wasm/cpdf/ \
--build-arg VITE_TESSERACT_WORKER_URL=https://internal-server.example.com/wasm/ocr/worker.min.js \
--build-arg VITE_TESSERACT_CORE_URL=https://internal-server.example.com/wasm/ocr/core \
--build-arg VITE_TESSERACT_LANG_URL=https://internal-server.example.com/wasm/ocr/lang-data \
--build-arg VITE_TESSERACT_AVAILABLE_LANGUAGES=eng,deu \
--build-arg VITE_OCR_FONT_BASE_URL=https://internal-server.example.com/wasm/ocr/fonts \
-t bentopdf .
# 4. Export the image
docker save bentopdf -o bentopdf.tar
# 5. Transfer bentopdf.tar + the .tgz packages + tesseract-langdata/ + ocr-fonts/ into the air-gapped network
# 6. Inside the air-gapped network — load and run
docker load -i bentopdf.tar
# Extract WASM packages to your internal web server
mkdir -p /var/www/wasm/pymupdf /var/www/wasm/gs /var/www/wasm/cpdf /var/www/wasm/ocr/core /var/www/wasm/ocr/lang-data /var/www/wasm/ocr/fonts
tar xzf bentopdf-pymupdf-wasm-0.11.14.tgz -C /var/www/wasm/pymupdf --strip-components=1
tar xzf bentopdf-gs-wasm-*.tgz -C /var/www/wasm/gs --strip-components=1
tar xzf coherentpdf-*.tgz -C /var/www/wasm/cpdf --strip-components=1
TEMP_TESS=$(mktemp -d)
tar xzf tesseract.js-7.0.0.tgz -C "$TEMP_TESS"
cp "$TEMP_TESS/package/dist/worker.min.js" /var/www/wasm/ocr/worker.min.js
rm -rf "$TEMP_TESS"
tar xzf tesseract.js-core-7.0.0.tgz -C /var/www/wasm/ocr/core --strip-components=1
cp ./tesseract-langdata/*.traineddata.gz /var/www/wasm/ocr/lang-data/
cp ./ocr-fonts/* /var/www/wasm/ocr/fonts/
# Run BentoPDF
docker run -d -p 3000:8080 --restart unless-stopped bentopdf
```
استخدم الرموز التي يطبعها الأمر `bash scripts/prepare-airgap.sh --list-ocr-languages`، أو ابحث بالاسم عبر `bash scripts/prepare-airgap.sh --search-ocr-language <term>`، لقيمة `--ocr-languages`. وعند البناء بمجموعة OCR مقيّدة، مرّر الرموز نفسها إلى `VITE_TESSERACT_AVAILABLE_LANGUAGES` لكي يعرض التطبيق اللغات المضمّنة فقط. وللحصول على إخراج OCR كامل دون اتصال، استضف أيضًا مجلد `ocr-fonts/` المضمّن ووجّه `VITE_OCR_FONT_BASE_URL` إليه.
اضبط المتغير على سلسلة فارغة لتعطيل تلك الوحدة (يجب على المستخدمين ضبطها يدويًا عبر الإعدادات المتقدمة).
## منفذ مخصص
افتراضيًا، يستمع BentoPDF على المنفذ `8080` داخل الحاوية. لتغييره، اضبط متغير البيئة `PORT` وقت التشغيل:
```bash
docker run -p 3000:9090 -e PORT=9090 ghcr.io/alam00000/bentopdf-simple:latest
```
| المتغير | الوصف | الافتراضي |
| ------- | ---------------------------- | --------- |
| `PORT` | منفذ استماع Nginx في الحاوية | `8080` |
يعمل هذا مع Dockerfile القياسي وغير الجذري (nonroot) معًا.
## معرّف مستخدم مخصص (PUID/PGID)
للبيئات التي تتطلب التشغيل بمستخدم محدد غير جذري (أجهزة NAS وKubernetes مع سياقات الأمان وسياسات المؤسسات)، يوفر BentoPDF ملف Dockerfile منفصلًا يدعم PUID/PGID بأسلوب LSIO.
### البناء والتشغيل
```bash
# Build the non-root image
docker build -f Dockerfile.nonroot -t bentopdf-nonroot .
# Run with custom UID/GID
docker run -d \
--name bentopdf \
-p 3000:8080 \
-e PUID=1000 \
-e PGID=1000 \
--restart unless-stopped \
bentopdf-nonroot
```
### متغيرات البيئة
| المتغير | الوصف | الافتراضي |
| -------------- | ---------------------- | --------- |
| `PUID` | معرّف المستخدم للتشغيل | `1000` |
| `PGID` | معرّف المجموعة للتشغيل | `1000` |
| `PORT` | منفذ استماع Nginx | `8080` |
| `DISABLE_IPV6` | تعطيل مستمع IPv6 | `false` |
### Docker Compose
```yaml
services:
bentopdf:
build:
context: .
dockerfile: Dockerfile.nonroot
container_name: bentopdf
ports:
- '3000:8080'
environment:
- PUID=1000
- PGID=1000
restart: unless-stopped
```
### كيف يعمل
تبدأ الحاوية كمستخدم جذر، وتنشئ مستخدمًا بقيم PUID/PGID المحددة، وتضبط الملكية على جميع المجلدات القابلة للكتابة، ثم تتخلى عن الصلاحيات باستخدام `su-exec`. وتعمل عملية nginx بالكامل بصفتك المستخدم الذي حددته.
> [!NOTE]
> يستخدم `Dockerfile` القياسي الصورة `nginx-unprivileged` (UID 101) ويُوصى به لمعظم عمليات النشر. استخدم `Dockerfile.nonroot` فقط عندما تحتاج إلى UID/GID محدد.
> [!WARNING]
> لا يمكن أن يكون PUID/PGID هو `0` (الجذر). يتحقق نقطة الدخول من المدخلات وسيخرج بخطأ عند القيم غير الصالحة.
## مع Traefik (وكيل عكسي)
```yaml
services:
traefik:
image: traefik:v2.10
command:
- '--providers.docker=true'
- '--entrypoints.web.address=:80'
- '--entrypoints.websecure.address=:443'
- '[email protected]'
- '--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json'
- '--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web'
ports:
- '80:80'
- '443:443'
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./letsencrypt:/letsencrypt
bentopdf:
image: ghcr.io/alam00000/bentopdf-simple:latest
labels:
- 'traefik.enable=true'
- 'traefik.http.routers.bentopdf.rule=Host(`pdf.example.com`)'
- 'traefik.http.routers.bentopdf.entrypoints=websecure'
- 'traefik.http.routers.bentopdf.tls.certresolver=letsencrypt'
- 'traefik.http.services.bentopdf.loadbalancer.server.port=8080'
# Required headers for SharedArrayBuffer (LibreOffice WASM)
- 'traefik.http.routers.bentopdf.middlewares=bentopdf-headers'
- 'traefik.http.middlewares.bentopdf-headers.headers.customresponseheaders.Cross-Origin-Opener-Policy=same-origin'
- 'traefik.http.middlewares.bentopdf-headers.headers.customresponseheaders.Cross-Origin-Embedder-Policy=require-corp'
restart: unless-stopped
```
## مع Caddy (وكيل عكسي)
```yaml
services:
caddy:
image: caddy:2
ports:
- '80:80'
- '443:443'
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
bentopdf:
image: ghcr.io/alam00000/bentopdf-simple:latest
restart: unless-stopped
volumes:
caddy_data:
```
Caddyfile:
```
pdf.example.com {
reverse_proxy bentopdf:8080
header Cross-Origin-Opener-Policy "same-origin"
header Cross-Origin-Embedder-Policy "require-corp"
}
```
## حدود الموارد
```yaml
services:
bentopdf:
image: ghcr.io/alam00000/bentopdf-simple:latest
deploy:
resources:
limits:
cpus: '1'
memory: 512M
reservations:
cpus: '0.25'
memory: 128M
```
## تكامل Podman Quadlet مع Systemd
يتيح لك [Quadlet](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html) تشغيل حاويات Podman كخدمات systemd. وهذا مثالي لعمليات النشر الإنتاجية على أنظمة Linux.
### إعداد Quadlet الأساسي
أنشئ ملف وحدة حاوية في `~/.config/containers/systemd/bentopdf.container` (للمستخدم) أو `/etc/containers/systemd/bentopdf.container` (للنظام):
```ini
[Unit]
Description=BentoPDF - Privacy-first PDF toolkit
After=network-online.target
Wants=network-online.target
[Container]
Image=ghcr.io/alam00000/bentopdf-simple:latest
ContainerName=bentopdf
PublishPort=3000:8080
AutoUpdate=registry
[Service]
Restart=always
TimeoutStartSec=300
[Install]
WantedBy=default.target
```
### التفعيل والتشغيل
```bash
# Reload systemd to detect new unit
systemctl --user daemon-reload
# Start the service
systemctl --user start bentopdf
# Enable on boot
systemctl --user enable bentopdf
# Check status
systemctl --user status bentopdf
# View logs
journalctl --user -u bentopdf -f
```
> [!TIP]
> للنشر على مستوى النظام، استخدم `systemctl` بدون الخيار `--user` وضع الملف في `/etc/containers/systemd/`.
### Quadlet مع فحص الصحة
```ini
[Unit]
Description=BentoPDF with health monitoring
After=network-online.target
Wants=network-online.target
[Container]
Image=ghcr.io/alam00000/bentopdf-simple:latest
ContainerName=bentopdf
PublishPort=3000:8080
AutoUpdate=registry
HealthCmd=wget --spider -q http://localhost:8080 || exit 1
HealthInterval=30s
HealthTimeout=10s
HealthRetries=3
[Service]
Restart=always
TimeoutStartSec=300
[Install]
WantedBy=default.target
```
### التحديث التلقائي مع Quadlet
يمكن لـ Podman تحديث الحاويات تلقائيًا عند توفر صور جديدة:
```bash
# Enable auto-update timer
systemctl --user enable --now podman-auto-update.timer
# Check for updates manually
podman auto-update
# Dry run (check without updating)
podman auto-update --dry-run
```
### إعداد شبكة Quadlet
لإعداد شبكة مخصص، أنشئ ملف شبكة `bentopdf.network`:
```ini
[Network]
Subnet=10.89.0.0/24
Gateway=10.89.0.1
```
ثم أشر إليه في ملف الحاوية:
```ini
[Container]
Image=ghcr.io/alam00000/bentopdf-simple:latest
ContainerName=bentopdf
PublishPort=3000:8080
Network=bentopdf.network
```
## التحديث
```bash
# Pull latest image
docker compose pull
# Recreate container
docker compose up -d
```
+266
View File
@@ -0,0 +1,266 @@
# النشر على Hostinger
[Hostinger](https://hostinger.com) مزوّد استضافة مشتركة شهير. يشرح هذا الدليل نشر BentoPDF على الاستضافة المشتركة في Hostinger.
## المتطلبات
- خطة استضافة Hostinger مع إمكانية الوصول إلى مدير الملفات
- تثبيت Node.js محليًا للبناء
## الخطوة 1: بناء المشروع
```bash
git clone https://github.com/alam00000/bentopdf.git
cd bentopdf
npm install
npm run build
```
ستكون الملفات المبنية في مجلد `dist`.
## الخطوة 2: الرفع إلى Hostinger
### النشر على النطاق الرئيسي
1. سجّل الدخول إلى حسابك في Hostinger
2. انتقل إلى **File Manager** ← **public_html**
3. **احذف** أي ملفات موجودة (خذ نسخة احتياطية عند الحاجة)
4. **ارفع** كل محتويات مجلد `dist` المحلي إلى `public_html`
### النشر في مجلد فرعي
إذا كنت تنشر في مجلد فرعي (مثل `yourdomain.com/pdf-tools/`):
1. ابنِ المشروع بعنوان أساسي (base URL) صحيح:
```bash
BASE_URL=/pdf-tools/ npm run build
```
2. أنشئ المجلد في Hostinger:
- انتقل إلى **File Manager** ← **public_html**
- أنشئ مجلدًا جديدًا: `pdf-tools`
3. ارفع كل محتويات `dist` إلى `public_html/pdf-tools/`
## الخطوة 3: إنشاء ملف .htaccess
أنشئ ملف `.htaccess` في جذر مجلد النشر (`public_html` أو `public_html/pdf-tools/`):
::: warning مهم
عند النشر في مجلد فرعي، غيّر `RewriteBase /` إلى `RewriteBase /pdf-tools/` (أو اسم مجلدك).
:::
```apache
RewriteEngine On
RewriteBase /
# ============================================
# 1. SECURITY HEADERS (CRITICAL FOR WASM)
# ============================================
<IfModule mod_headers.c>
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "geolocation=(), microphone=(), camera=()"
# REQUIRED for soffice.js (SharedArrayBuffer)
Header always set Cross-Origin-Opener-Policy "same-origin"
Header always set Cross-Origin-Embedder-Policy "require-corp"
</IfModule>
# ============================================
# 2. BROWSER CACHING
# ============================================
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType font/woff2 "access plus 1 year"
ExpiresByType font/woff "access plus 1 year"
ExpiresByType font/ttf "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/wasm "access plus 1 year"
ExpiresByType application/gzip "access plus 1 year"
ExpiresByType text/html "access plus 0 seconds"
</IfModule>
# ============================================
# 3. COMPRESSION (STANDARD)
# ============================================
# Prevent server from double-compressing files
SetEnvIfNoCase Request_URI "\.gz$" no-gzip
SetEnvIfNoCase Request_URI "\.br$" no-gzip
SetEnvIfNoCase Request_URI "\.wasm$" no-gzip
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE font/woff
AddOutputFilterByType DEFLATE font/ttf
</IfModule>
# ============================================
# 4. MIME TYPES & SPECIAL FILE HANDLING
# ============================================
AddType application/javascript .js .mjs
AddType application/wasm .wasm
AddType font/woff2 .woff2
AddType font/woff .woff
AddType image/webp .webp
# Handle soffice.wasm.gz correctly
<FilesMatch "soffice\.wasm\.gz$">
ForceType application/wasm
Header set Content-Encoding "gzip"
Header set Cross-Origin-Resource-Policy "cross-origin"
Header append Vary Accept-Encoding
</FilesMatch>
# Handle data.gz
<FilesMatch "soffice\.data\.gz$">
ForceType application/octet-stream
Header set Content-Encoding "gzip"
Header append Vary Accept-Encoding
</FilesMatch>
# ============================================
# 5. REDIRECTS & ROUTING
# ============================================
# Canonical WWW (update domain as needed)
RewriteCond %{HTTP_HOST} ^bentopdf\.com [NC]
RewriteRule ^(.*)$ https://www.bentopdf.com/$1 [L,R=301]
# Force HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Remove trailing slash (except for language root directories)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/$
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]
# Existing files/dirs - serve directly
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# ============================================
# 5.1. LANGUAGE ROUTES
# ============================================
# Supported languages: de, es, zh, zh-TW, vi, it, id, tr, fr, pt
# English has no prefix - served from root
# English prefix redirects to root (for SEO consistency)
RewriteRule ^en/?$ / [R=301,L]
RewriteRule ^en/(.+)$ /$1 [R=301,L]
# Language prefix root (e.g., /de/ -> /de/index.html)
RewriteCond %{DOCUMENT_ROOT}/$1/index.html -f
RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /$1/index.html [L]
# Language prefix with path (e.g., /de/merge-pdf -> /de/merge-pdf.html)
RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f
RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L]
# ============================================
# 5.5. DOCS ROUTING (VitePress)
# ============================================
RewriteCond %{REQUEST_URI} ^/docs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html [L]
# ============================================
# 6. ADD .HTML EXTENSION IF FILE EXISTS (ROOT LEVEL ONLY)
# ============================================
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^([^/]+)$ $1.html [L]
# ============================================
# 7. ERROR PAGES
# ============================================
ErrorDocument 404 /404.html
```
## مثال على .htaccess للمجلد الفرعي
للنطاق `yourdomain.com/pdf-tools/`، حدّث هذه الأسطر:
```apache
RewriteBase /pdf-tools/
# ... (same content as above, but update paths) ...
# Language prefix root
RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/index.html -f
RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/?$ /pdf-tools/$1/index.html [L]
# Language prefix with path
RewriteCond %{DOCUMENT_ROOT}/pdf-tools/$1/$2.html -f
RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /pdf-tools/$1/$2.html [L]
# Root level .html extension
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^([^/]+)$ $1.html [L]
ErrorDocument 404 /pdf-tools/404.html
```
## استكشاف الأخطاء وإصلاحها
### ملفات WASM لا تُحمَّل
تأكد من ضبط أنواع MIME بشكل صحيح في `.htaccess`:
```apache
AddType application/wasm .wasm
```
### أدوات LibreOffice لا تعمل
ترويسات الأمان حاسمة لعمل SharedArrayBuffer:
```apache
Header always set Cross-Origin-Opener-Policy "same-origin"
Header always set Cross-Origin-Embedder-Policy "require-corp"
```
إذا لم تُطبَّق الترويسات، فتواصل مع دعم Hostinger لتفعيل `mod_headers`.
### أخطاء 404 عند تحديث الصفحة
تأكد من ضبط قاعدة امتداد `.html` ومسارات اللغات بشكل صحيح. يستخدم BentoPDF ملفات HTML ثابتة وليس توجيه SPA:
```apache
# Language routes serve actual files from language directories
RewriteCond %{DOCUMENT_ROOT}/$1/$2.html -f
RewriteRule ^(de|es|zh|zh-TW|vi|it|id|tr|fr|pt)/([^/]+)/?$ /$1/$2.html [L]
# Root level pages
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^([^/]+)$ $1.html [L]
```
### حدود رفع الملفات
قد تفرض Hostinger حدودًا على حجم الملفات. ارفع ملفات WASM بشكل منفصل إذا فشل الرفع الجماعي.
+538
View File
@@ -0,0 +1,538 @@
# دليل الاستضافة الذاتية
يمكن استضافة BentoPDF ذاتيًا على بنيتك التحتية. يغطي هذا الدليل خيارات النشر المختلفة.
## بداية سريعة مع Docker / Podman
أسرع طريقة لاستضافة BentoPDF ذاتيًا:
> [!TIP]
> يأتي BentoPDF في بنائين:
>
> - **بناء الاستضافة الذاتية**: `ghcr.io/alam00000/bentopdf-simple:latest`. يتضمن كل أدوات PDF، **بدون** الواجهة التسويقية (لا قسم رئيسي ولا أسئلة شائعة ولا شهادات ولا تذييل). استخدمه للنشر الداخلي أو لفرق العمل أو المؤسسات. وهو **ليس** نسخة "خفيفة" منقوصة الميزات.
> - **البناء التجاري**: `ghcr.io/alam00000/bentopdf:latest`. الموقع التسويقي الكامل، ويستخدمه bentopdf.com نفسه وحاملو الترخيص التجاري الذين يشغّلون عمليات نشر موجهة للجمهور.
>
> إذا كنت في شك: استخدم بناء الاستضافة الذاتية.
> [!IMPORTANT]
> يتطلب تحويل ملفات Office وجود `SharedArrayBuffer`، ما يعني أن التطبيق يجب أن يكون معزولًا عبر الأصول (cross-origin isolated) ومقدَّمًا من سياق آمن. تُرسل الصورة الرسمية ترويستي COOP/COEP المطلوبتين، لكن المتصفحات تظل تعطّل `SharedArrayBuffer` على أصول HTTP العادية في الشبكات المحلية مثل `http://192.168.x.x`.
>
> استخدم `http://localhost` للاختبار على الجهاز نفسه فقط. إذا كان المستخدمون يصلون إلى BentoPDF عبر عنوان IP محلي أو اسم مضيف، فأنهِ الاتصال بـ HTTPS.
```bash
# Docker
docker run -d -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest
# Podman
podman run -d -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest
```
أو باستخدام Docker Compose / Podman Compose:
```yaml
# docker-compose.yml
services:
bentopdf:
image: ghcr.io/alam00000/bentopdf-simple:latest
ports:
- '3000:8080'
restart: unless-stopped
```
```bash
# Docker Compose
docker compose up -d
# Podman Compose
podman-compose up -d
```
## Podman Quadlet (خدمة systemd على Linux)
شغّل BentoPDF كخدمة systemd. أنشئ الملف `~/.config/containers/systemd/bentopdf.container`:
```ini
[Container]
Image=ghcr.io/alam00000/bentopdf-simple:latest
ContainerName=bentopdf
PublishPort=3000:8080
AutoUpdate=registry
[Service]
Restart=always
[Install]
WantedBy=default.target
```
```bash
systemctl --user daemon-reload
systemctl --user enable --now bentopdf
```
راجع [دليل نشر Docker](/ar/self-hosting/docker) للاطلاع على توثيق Quadlet الكامل.
## البناء من المصدر
```bash
# Clone and build
git clone https://github.com/alam00000/bentopdf.git
cd bentopdf
npm install
npm run build
# The built files are in the `dist` folder
```
## خيارات الإعداد
### بناء الاستضافة الذاتية (الوضع المبسط)
بناء الاستضافة الذاتية (صورة `bentopdf-simple`، ويسمى أيضًا الوضع المبسط) **مطابق وظيفيًا** للبناء التجاري: كل أداة PDF موجودة وتعمل بالطريقة نفسها. هو فقط يُخفي الواجهة التسويقية التي لا معنى لها إلا على bentopdf.com نفسه أو في نشر تجاري موجه للجمهور. **وهو ليس نسخة منقوصة الميزات أو "خفيفة".**
**ما يخفيه بناء الاستضافة الذاتية** (تجميلي فقط، ولا تُزال أي ميزات PDF):
- شريط التنقل، والقسم الرئيسي، وقسم المزايا، والأسئلة الشائعة، والشهادات، والتذييل
- يحدّث عنوان الصفحة إلى "أدوات PDF"
**ما يحتفظ به بناء الاستضافة الذاتية** (كل ما يقوم فعلًا بعمل PDF):
- كل أدوات PDF (الدمج، والتقسيم، والتحرير، والتوقيع، وOCR، وتحويل Office، وغيرها)
- دعم العلامة التجارية المخصصة، وكل إعدادات وقت البناء ووقت التشغيل
البناء التجاري (`ghcr.io/alam00000/bentopdf:latest`) هو ما يشغّل bentopdf.com نفسه ويستخدمه حاملو الترخيص التجاري الذين يشغّلون عمليات نشر موجهة للجمهور. فهو يضيف القسم الرئيسي والأسئلة الشائعة والشهادات والتذييل التي لا معنى لها في أداة داخلية.
إذا كنت تستضيف BentoPDF ذاتيًا لفريقك أو مؤسستك أو كأداة داخلية، فاستخدم بناء الاستضافة الذاتية:
```bash
# Use the pre-built image (recommended)
docker run -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest
# Or build it yourself
SIMPLE_MODE=true npm run build
```
راجع [SIMPLE_MODE.md](https://github.com/alam00000/bentopdf/blob/main/SIMPLE_MODE.md) للتفاصيل الكاملة.
### البناء التجاري (عمليات نشر موجهة للجمهور بعلامتك التجارية)
البناء التجاري (صورة `bentopdf` بدون اللاحقة `-simple`) هو ما يشغّل bentopdf.com نفسه. يتضمن الموقع التسويقي الكامل (القسم الرئيسي، والمزايا، والأسئلة الشائعة، والشهادات، والتذييل) فوق كل أدوات PDF. استخدم هذا البناء عندما تريد **نشر BentoPDF كخدمة PDF موجهة للجمهور تحت علامتك التجارية**، على سبيل المثال:
- تشغّل BentoPDF كخدمة SaaS مستضافة للمستخدمين النهائيين على نطاقك الخاص
- تريد تجربة صفحة الهبوط (أقسام تسويقية مع الأدوات)، وليس واجهة الأدوات المجردة فقط
- أنت حامل ترخيص تجاري تدمج BentoPDF في منتج تجاري
**شغّله كما هو** (بعلامة BentoPDF، مفيد لمعاينة البناء):
```bash
docker run -p 3000:8080 ghcr.io/alam00000/bentopdf:latest
```
**ابنِ بعلامتك التجارية** (سير العمل التجاري المعتاد):
```bash
docker build \
--build-arg VITE_BRAND_NAME="AcmePDF" \
--build-arg VITE_BRAND_LOGO="images/acme-logo.svg" \
--build-arg VITE_FOOTER_TEXT="© 2026 Acme Corp. All rights reserved." \
-t acmepdf .
docker run -p 3000:8080 acmepdf
```
كل خيار آخر من خيارات وقت البناء (`BASE_URL` و`VITE_DEFAULT_LANGUAGE` و`DISABLE_TOOLS` وتجاوزات عناوين WASM وغيرها) يعمل بالطريقة نفسها كما في بناء الاستضافة الذاتية.
::: warning الترخيص
تشغيل البناء التجاري مسموح بموجب أي من خياري ترخيص BentoPDF:
- **AGPL-3.0** (مجاني): مسموح إذا كان نشرك ينشر شيفرته المصدرية كاملة بموجب AGPL، بما في ذلك أي تعديلات على العلامة التجارية ومنطق الأعمال المحيط.
- **الترخيص التجاري** (79 دولارًا مدى الحياة): مطلوب لعمليات النشر مغلقة المصدر أو المملوكة التي لا تفتح فيها مصدر نسخة العلامة التجارية أو شيفرة الأعمال.
راجع [صفحة الترخيص](https://www.bentopdf.com/licensing) للمقارنة الكاملة. تُحمَّل وحدات WASM الخاضعة لـ AGPL (PyMuPDF وGhostscript وCoherentPDF) من CDN وقت التشغيل، لذا لا تدخل في صورتك ولا تغيّر وضعك الترخيصي.
:::
### عنوان URL الأساسي
انشر في مجلد فرعي:
```bash
BASE_URL=/pdf-tools/ npm run build
```
### علامة تجارية مخصصة
استبدل شعار BentoPDF الافتراضي واسمه ونص التذييل بما يخصك وقت البناء:
| المتغير | الوصف | الافتراضي |
| ------------------ | -------------------------------------- | --------------------------------------- |
| `VITE_BRAND_NAME` | اسم العلامة التجارية في الرأس والتذييل | `BentoPDF` |
| `VITE_BRAND_LOGO` | مسار الشعار نسبةً إلى `public/` | `images/favicon-no-bg.svg` |
| `VITE_FOOTER_TEXT` | نص التذييل/حقوق النشر المخصص | `© 2026 BentoPDF. All rights reserved.` |
```bash
# Place your logo in public/, then build
VITE_BRAND_NAME="AcmePDF" \
VITE_BRAND_LOGO="images/acme-logo.svg" \
VITE_FOOTER_TEXT="© 2026 Acme Corp. Internal use only." \
npm run build
```
أو عبر Docker:
```bash
docker build \
--build-arg VITE_BRAND_NAME="AcmePDF" \
--build-arg VITE_BRAND_LOGO="images/acme-logo.svg" \
--build-arg VITE_FOOTER_TEXT="© 2026 Acme Corp. Internal use only." \
-t acmepdf .
```
تعمل العلامة التجارية في الوضع الكامل والوضع المبسط، ويمكن دمجها مع كل خيارات وقت البناء الأخرى (`BASE_URL` و`SIMPLE_MODE` و`VITE_DEFAULT_LANGUAGE`).
### تعطيل أدوات محددة
أخفِ أدوات بعينها لأغراض الامتثال أو الأمان. تُزال الأدوات المعطلة من الصفحة الرئيسية والبحث والاختصارات ومنشئ سير العمل والوصول المباشر عبر URL.
معرّفات الأدوات هي عنوان URL للصفحة بدون `.html`: افتح أي أداة وانظر إلى العنوان (مثل `edit-pdf` و`sign-pdf` و`encrypt-pdf`).
**وقت البناء** (مضمّن في الحزمة):
```bash
DISABLE_TOOLS="edit-pdf,sign-pdf" npm run build
```
**وقت التشغيل** (بدون إعادة بناء: اربط ملف `config.json`):
```json
{
"disabledTools": ["edit-pdf", "sign-pdf"]
}
```
```bash
docker run -d -p 3000:8080 \
-v ./config.json:/usr/share/nginx/html/config.json:ro \
ghcr.io/alam00000/bentopdf-simple:latest
```
يمكن الجمع بين الطريقتين: تُدمج القوائم.
يمكنك أيضًا تعطيل ميزات محددة داخل محرر PDF (مثل الحجب) دون تعطيل الأداة بأكملها بإضافة `editorDisabledCategories` إلى `config.json`. راجع [دليل Docker](/ar/self-hosting/docker#تعطيل-ميزات-المحرر) للاطلاع على القائمة الكاملة للفئات.
## أدلة النشر
اختر منصتك:
- [Vercel](/ar/self-hosting/vercel)
- [Netlify](/ar/self-hosting/netlify)
- [Cloudflare Pages](/ar/self-hosting/cloudflare)
- [AWS S3 + CloudFront](/ar/self-hosting/aws)
- [Hostinger](/ar/self-hosting/hostinger)
- [Nginx](/ar/self-hosting/nginx)
- [Apache](/ar/self-hosting/apache)
- [Docker](/ar/self-hosting/docker)
- [Kubernetes](/ar/self-hosting/kubernetes)
- [وكيل CORS](/ar/self-hosting/cors-proxy) - مطلوب للتوقيعات الرقمية
## مشكلات شائعة
### تحويل Word / ODT / Excel / PowerPoint إلى PDF يتوقف (SharedArrayBuffer غير متاح)
**العَرَض**: تتوقف تحويلات المستندات المعتمدة على LibreOffice (Word وODT وExcel وPowerPoint إلى PDF) عند نحو 55% أو تفشل في البدء. قد تعرض وحدة تحكم المتصفح:
> `ReferenceError: SharedArrayBuffer is not defined`
...أو يعرض `window.crossOriginIsolated` القيمة `false`، أو تُبلغ ترجمة WASM عن `expected magic word 00 61 73 6d, found 1f 8b 08 08`.
**السبب**: يتطلب LibreOffice WASM وجود `SharedArrayBuffer`، والمتصفح لا يفعّله إلا عندما تكون الصفحة **معزولة عبر الأصول** و**مقدَّمة من سياق آمن**. أي أن أمرين يجب أن يتحققا:
1. تتضمن كل استجابة الترويستين معًا:
- `Cross-Origin-Embedder-Policy: require-corp`
- `Cross-Origin-Opener-Policy: same-origin`
2. تُقدَّم الصفحة من `https://...` أو `http://localhost`. لا يُعد HTTP العادي على عنوان IP محلي (مثل `http://192.168.x.x`) آمنًا: تعطّل المتصفحات `SharedArrayBuffer` هناك.
عدم التطابق `00 61 73 6d / 1f 8b 08 08` عَرَض فرعي منفصل: ملفات `.wasm.gz` / `.data.gz` المضغوطة مسبقًا تفتقر إلى ترويسة الاستجابة `Content-Encoding: gzip`، فيتلقى المتصفح بايتات gzip الخام بدل WASM المفكوك ضغطه.
**الحل**: راجع دليل النشر الخاص بمنصتك للاطلاع على الإعداد الدقيق:
- [Nginx →](/ar/self-hosting/nginx#تحويل-word-odt-excel-إلى-pdf-لا-يعمل)
- [Apache →](/ar/self-hosting/apache#تحويل-word-odt-excel-إلى-pdf-لا-يعمل)
- [AWS S3 + CloudFront →](/ar/self-hosting/aws#الخطوة-3b-سياسة-ترويسات-الاستجابة-مطلوبة-لـ-libreoffice-wasm)
- [Cloudflare Pages →](/ar/self-hosting/cloudflare#ملف-الإعدادات) (ملف `_headers`)
- [Netlify →](/ar/self-hosting/netlify#تحويل-word-odt-excel-إلى-pdf-يتوقف-عند-55) (`netlify.toml`)
- [Vercel →](/ar/self-hosting/vercel#تحويل-word-odt-excel-إلى-pdf-لا-يعمل) (`vercel.json`)
- [Hostinger →](/ar/self-hosting/hostinger#أدوات-libreoffice-لا-تعمل) (`.htaccess`)
- [Kubernetes →](/ar/self-hosting/kubernetes#التأكد-من-استمرار-عمل-ترويسات-sharedarraybuffer-ingress-gateway)
- **Docker**: يُعالَج تلقائيًا بواسطة إعداد nginx المضمّن، ولا حاجة لأي إجراء.
**التحقق**: افتح وحدة تحكم DevTools في أي صفحة BentoPDF ونفّذ:
```js
console.log(window.crossOriginIsolated); // should be true
console.log(typeof SharedArrayBuffer); // should be "function"
```
إذا كانت الصفحة HTTPS أو `http://localhost` وترويستا COEP/COOP موجودتان في كل استجابة، ينجح الفحصان. وإذا كنت على `http://192.168.x.x` أو أي أصل HTTP آخر غير loopback، فأنهِ الاتصال بـ HTTPS، إذ لا يوجد حل بالترويسات وحدها.
### ملفات `.mjs` تُقدَّم بنوع `application/octet-stream`
**العَرَض**: تعرض أداة توقيع PDF / ملء النماذج / أدوات أخرى عارضًا فارغًا أو تفشل في التحميل. تُبلغ وحدة تحكم المتصفح:
> `Failed to load module script: The server responded with a non-JavaScript MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec.`
**السبب**: لا يملك خادم الويب أو الوكيل العكسي لديك تعيين نوع MIME لملفات `.mjs` (يأتي عارض PDF المضمّن بوحدات ES بهذا الامتداد). تستخدم كثير من إعدادات الخوادم الافتراضية `application/octet-stream` للامتدادات غير المعروفة، وترفض المتصفحات تنفيذها كوحدات ES.
**الحل**: راجع دليل النشر الخاص بمنصتك للاطلاع على المقطع الدقيق:
- [Nginx →](/ar/self-hosting/nginx#عارض-توقيع-pdf-أو-ملء-النماذج-فارغ-خطأ-mime-لملفات-mjs)
- [Apache →](/ar/self-hosting/apache#أداة-توقيع-pdf-أو-تعبئة-النماذج-تعرض-عارضًا-فارغًا-خطأ-mime-لملفات-mjs)
- [AWS S3 + CloudFront →](/ar/self-hosting/aws#الخطوة-2-البناء-والرفع) (راجع `aws s3 cp ... --include "*.mjs"`)
- [Kubernetes →](/ar/self-hosting/kubernetes#أخطاء-نوع-mime-لملفات-mjs-عارض-توقيع-pdf-ملء-النماذج-فارغ)
- **Docker وVercel وNetlify وCloudflare Pages وHostinger**: يُعالَج تلقائيًا، ولا حاجة لأي إجراء.
**التحقق**: افتح DevTools ثم تبويب Network، وابحث عن طلب `.mjs` الفاشل، وتحقق من ترويسة الاستجابة `Content-Type`. يجب أن تكون `application/javascript`. وإذا بقيت `application/octet-stream`، فقد يكون وكيل عكسي خارجي أو CDN يعيد استنتاج النوع، فافحص كل طبقة في سلسلة التقديم.
## إعداد WASM (مكونات AGPL)
**لا يضمّن** BentoPDF مكتبات المعالجة الخاضعة لـ AGPL في شيفرته المصدرية، لكنه **يهيّئ مسبقًا عناوين CDN** بحيث تعمل كل الميزات مباشرة، دون إعداد يدوي.
::: tip بدون إعداد افتراضيًا
منذ الإصدار v2.0.0، تُهيَّأ وحدات WASM مسبقًا للتحميل من jsDelivr CDN عبر متغيرات البيئة. تعمل كل الميزات المتقدمة فورًا دون أي إعداد من المستخدم.
:::
| المكوّن | الترخيص | الميزات |
| --------------- | -------- | --------------------------------------------------------- |
| **PyMuPDF** | AGPL-3.0 | تحويل EPUB/MOBI/FB2/XPS، واستخراج الصور، واستخراج الجداول |
| **Ghostscript** | AGPL-3.0 | تحويل PDF/A، والضغط، وتصحيح الميل، والتحويل إلى صور نقطية |
| **CoherentPDF** | AGPL-3.0 | جدول المحتويات، والمرفقات، ودمج PDF مع الإشارات المرجعية |
### متغيرات البيئة الافتراضية
تُضبط هذه في `.env.production` وتُضمَّن في البناء:
```bash
VITE_WASM_PYMUPDF_URL=https://cdn.jsdelivr.net/npm/@bentopdf/[email protected]/
VITE_WASM_GS_URL=https://cdn.jsdelivr.net/npm/@bentopdf/[email protected]/assets/
VITE_WASM_CPDF_URL=https://cdn.jsdelivr.net/npm/[email protected]/dist/
VITE_TESSERACT_WORKER_URL=
VITE_TESSERACT_CORE_URL=
VITE_TESSERACT_LANG_URL=
VITE_TESSERACT_AVAILABLE_LANGUAGES=
VITE_OCR_FONT_BASE_URL=
```
### تجاوز عناوين WASM
يمكنك تجاوز القيم الافتراضية وقت البناء لعمليات النشر المخصصة:
```bash
# Via Docker build args
docker build \
--build-arg VITE_WASM_PYMUPDF_URL=https://your-server.com/pymupdf/ \
--build-arg VITE_WASM_GS_URL=https://your-server.com/gs/ \
--build-arg VITE_WASM_CPDF_URL=https://your-server.com/cpdf/ \
--build-arg VITE_TESSERACT_WORKER_URL=https://your-server.com/ocr/worker.min.js \
--build-arg VITE_TESSERACT_CORE_URL=https://your-server.com/ocr/core \
--build-arg VITE_TESSERACT_LANG_URL=https://your-server.com/ocr/lang-data \
--build-arg VITE_TESSERACT_AVAILABLE_LANGUAGES=eng,deu \
--build-arg VITE_OCR_FONT_BASE_URL=https://your-server.com/ocr/fonts \
-t bentopdf .
# Or via .env.production before building from source
VITE_WASM_PYMUPDF_URL=https://your-server.com/pymupdf/ npm run build
```
لتعطيل وحدة بالكامل (يتطلب إعدادًا يدويًا من المستخدم عبر الإعدادات المتقدمة)، اضبط متغيرها على سلسلة فارغة.
بالنسبة إلى OCR، إما أن تترك كل متغيرات `VITE_TESSERACT_*` فارغة وتبقي الأصول الافتراضية عبر الإنترنت، أو تضبط عناوين worker/core/lang معًا للـ OCR المستضاف ذاتيًا أو دون اتصال. وإذا ضمّنت لغات OCR محددة فقط، فاضبط أيضًا `VITE_TESSERACT_AVAILABLE_LANGUAGES` على الرموز نفسها مفصولة بفواصل، بحيث تعرض الواجهة اللغات المثبتة فقط وتفشل الاختيارات غير المدعومة برسالة خطأ وصفية. وللحصول على ملفات PDF قابلة للبحث دون اتصال بالكامل، اضبط أيضًا `VITE_OCR_FONT_BASE_URL` على المجلد الداخلي الذي يقدّم خطوط OCR المضمّنة.
يمكن للمستخدمين أيضًا تجاوز هذه القيم الافتراضية في أي وقت عبر **الإعدادات المتقدمة** في الواجهة: تتقدم التجاوزات المخزنة في المتصفح على القيم الافتراضية للبيئة.
### نشر معزول عن الإنترنت / دون اتصال
للشبكات التي لا تملك وصولًا إلى الإنترنت (الحكومة والرعاية الصحية والمالية وغيرها). تُضمَّن عناوين WASM في JavaScript **وقت البناء**، بينما **متصفح المستخدم** هو من ينزّل ملفات WASM الفعلية وقت التشغيل. لذلك تحتاج إلى تجهيز كل شيء على جهاز متصل بالإنترنت ثم نقله إلى الشبكة المعزولة.
#### سكربت آلي (موصى به)
يؤتمت السكربت المضمّن `prepare-airgap.sh` العملية كاملة: تنزيل حزم WASM وبناء صورة Docker وإنتاج حزمة مستقلة مع سكربت إعداد.
```bash
git clone https://github.com/alam00000/bentopdf.git
cd bentopdf
# Show supported OCR language codes (for --ocr-languages)
bash scripts/prepare-airgap.sh --list-ocr-languages
# Search OCR language codes by name or abbreviation
bash scripts/prepare-airgap.sh --search-ocr-language german
# Interactive mode — prompts for all options
bash scripts/prepare-airgap.sh
# Or fully automated
bash scripts/prepare-airgap.sh --wasm-base-url https://internal.example.com/wasm
```
ينتج هذا مجلد الحزمة:
```
bentopdf-airgap-bundle/
bentopdf.tar # Docker image
*.tgz # WASM packages (PyMuPDF, Ghostscript, CoherentPDF, Tesseract)
tesseract-langdata/ # OCR traineddata files
ocr-fonts/ # OCR text-layer font files
setup.sh # Setup script for the air-gapped side
README.md # Instructions
```
انقل الحزمة إلى الشبكة المعزولة عبر USB أو مستودع الأدوات الداخلي أو أي وسيلة معتمدة. ثم شغّل سكربت الإعداد المضمّن:
```bash
cd bentopdf-airgap-bundle
bash setup.sh
```
يحمّل سكربت الإعداد صورة Docker ويستخرج ملفات WASM ويشغّل الحاوية اختياريًا.
**خيارات السكربت:**
| الخيار | الوصف | الافتراضي |
| ------------------------------ | --------------------------------------------- | ------------------------------ |
| `--wasm-base-url <url>` | المكان الذي ستُستضاف فيه ملفات WASM داخليًا | _(مطلوب، يُطلب إدخاله إن غاب)_ |
| `--image-name <name>` | وسم صورة Docker | `bentopdf` |
| `--output-dir <path>` | مجلد الحزمة الناتجة | `./bentopdf-airgap-bundle` |
| `--simple-mode` | تفعيل الوضع المبسط | off |
| `--base-url <path>` | عنوان URL الأساسي للمجلد الفرعي (مثل `/pdf/`) | `/` |
| `--language <code>` | لغة الواجهة الافتراضية (مثل `fr` و`de`) | _(none)_ |
| `--brand-name <name>` | اسم العلامة التجارية المخصص | _(none)_ |
| `--brand-logo <path>` | مسار الشعار نسبةً إلى `public/` | _(none)_ |
| `--footer-text <text>` | نص التذييل المخصص | _(none)_ |
| `--ocr-languages <list>` | لغات OCR المراد تضمينها مفصولة بفواصل | `eng` |
| `--list-ocr-languages` | يطبع رموز وأسماء OCR المدعومة ثم يخرج | off |
| `--search-ocr-language <term>` | يبحث في رموز OCR بالاسم أو الاختصار | off |
| `--dockerfile <path>` | ملف Dockerfile المستخدم | `Dockerfile` |
| `--skip-docker` | تخطي بناء Docker وتصديره | off |
| `--skip-wasm` | تخطي تنزيل WASM (إعادة استخدام ملفات `.tgz`) | off |
تقبل المطالبة التفاعلية أيضًا `list` لطباعة القائمة الكاملة لرموز Tesseract المدعومة و`search <term>` للعثور على تطابقات مثل `search german` أو `search chi`.
::: warning شرط الأصل نفسه
يجب تقديم ملفات WASM من **الأصل نفسه** الذي يقدّم تطبيق BentoPDF. تستخدم Web Workers الدالة `importScripts()` التي لا تستطيع تحميل السكربتات عبر الأصول. فمثلًا، إذا كان BentoPDF يعمل على `https://internal.example.com`، فيجب أن يكون عنوان WASM الأساسي أيضًا `https://internal.example.com/wasm`.
:::
#### الخطوات اليدوية
<details>
<summary>إذا كنت تفضّل تنفيذ الخطوات يدويًا دون السكربت</summary>
**الخطوة 1: نزّل حزم WASM وOCR** (على جهاز متصل بالإنترنت)
```bash
npm pack @bentopdf/[email protected]
npm pack @bentopdf/gs-wasm
npm pack coherentpdf
npm pack [email protected]
npm pack [email protected]
mkdir -p tesseract-langdata
curl -fsSL https://cdn.jsdelivr.net/npm/@tesseract.js-data/eng/4.0.0_best_int/eng.traineddata.gz -o tesseract-langdata/eng.traineddata.gz
mkdir -p ocr-fonts
curl -fsSL https://raw.githack.com/googlefonts/noto-fonts/main/hinted/ttf/NotoSans/NotoSans-Regular.ttf -o ocr-fonts/NotoSans-Regular.ttf
```
**الخطوة 2: ابنِ صورة Docker بالعناوين الداخلية**
```bash
git clone https://github.com/alam00000/bentopdf.git
cd bentopdf
docker build \
--build-arg VITE_WASM_PYMUPDF_URL=https://internal-server.example.com/wasm/pymupdf/ \
--build-arg VITE_WASM_GS_URL=https://internal-server.example.com/wasm/gs/ \
--build-arg VITE_WASM_CPDF_URL=https://internal-server.example.com/wasm/cpdf/ \
--build-arg VITE_TESSERACT_WORKER_URL=https://internal-server.example.com/wasm/ocr/worker.min.js \
--build-arg VITE_TESSERACT_CORE_URL=https://internal-server.example.com/wasm/ocr/core \
--build-arg VITE_TESSERACT_LANG_URL=https://internal-server.example.com/wasm/ocr/lang-data \
--build-arg VITE_OCR_FONT_BASE_URL=https://internal-server.example.com/wasm/ocr/fonts \
-t bentopdf .
```
**الخطوة 3: صدّر صورة Docker**
```bash
docker save bentopdf -o bentopdf.tar
```
**الخطوة 4: انقل إلى الشبكة المعزولة**
انسخ عبر USB أو مستودع الأدوات الداخلي أو أي وسيلة نقل معتمدة:
- `bentopdf.tar`: صورة Docker
- حزم `.tgz` الخمس لـ WASM/OCR من الخطوة 1
- مجلد `tesseract-langdata/` من الخطوة 1
- مجلد `ocr-fonts/` من الخطوة 1
**الخطوة 5: الإعداد داخل الشبكة المعزولة**
```bash
# Load the Docker image
docker load -i bentopdf.tar
# Extract WASM packages
mkdir -p ./wasm/pymupdf ./wasm/gs ./wasm/cpdf ./wasm/ocr/core ./wasm/ocr/lang-data ./wasm/ocr/fonts
tar xzf bentopdf-pymupdf-wasm-0.11.14.tgz -C ./wasm/pymupdf --strip-components=1
tar xzf bentopdf-gs-wasm-*.tgz -C ./wasm/gs --strip-components=1
tar xzf coherentpdf-*.tgz -C ./wasm/cpdf --strip-components=1
TEMP_TESS=$(mktemp -d)
tar xzf tesseract.js-7.0.0.tgz -C "$TEMP_TESS"
cp "$TEMP_TESS/package/dist/worker.min.js" ./wasm/ocr/worker.min.js
rm -rf "$TEMP_TESS"
tar xzf tesseract.js-core-7.0.0.tgz -C ./wasm/ocr/core --strip-components=1
cp ./tesseract-langdata/*.traineddata.gz ./wasm/ocr/lang-data/
cp ./ocr-fonts/* ./wasm/ocr/fonts/
# Run BentoPDF
docker run -d -p 3000:8080 --restart unless-stopped bentopdf
```
تأكد من أن الملفات متاحة على العناوين التي ضبطتها في الخطوة 2، بما فيها `.../ocr/worker.min.js` و`.../ocr/core` و`.../ocr/lang-data` و`.../ocr/fonts`.
</details>
::: info البناء من المصدر بدلًا من Docker؟
اضبط المتغيرات في `.env.production` قبل تشغيل `npm run build`:
```bash
VITE_WASM_PYMUPDF_URL=https://internal-server.example.com/wasm/pymupdf/
VITE_WASM_GS_URL=https://internal-server.example.com/wasm/gs/
VITE_WASM_CPDF_URL=https://internal-server.example.com/wasm/cpdf/
VITE_TESSERACT_WORKER_URL=https://internal-server.example.com/wasm/ocr/worker.min.js
VITE_TESSERACT_CORE_URL=https://internal-server.example.com/wasm/ocr/core
VITE_TESSERACT_LANG_URL=https://internal-server.example.com/wasm/ocr/lang-data
VITE_OCR_FONT_BASE_URL=https://internal-server.example.com/wasm/ocr/fonts
```
:::
### استضافة وكيل WASM الخاص بك
إذا احتجت إلى تقديم ملفات WASM الخاضعة لـ AGPL مع ترويسات CORS المناسبة، فيمكنك نشر وكيل بسيط. راجع [دليل Cloudflare WASM Proxy](https://github.com/alam00000/bentopdf/blob/main/cloudflare/WASM-PROXY.md) للاطلاع على مثال للتنفيذ.
::: tip لماذا الفصل؟
يضمن هذا الفصل:
- امتثالًا قانونيًا واضحًا للمستخدمين التجاريين
- بقاء نواة BentoPDF تحت ترخيصها المزدوج (AGPL-3.0 / تجاري)
- تحميل ملفات WASM وقت التشغيل، لا تضمينها في المصدر
:::
## متطلبات النظام
| المتطلب | الحد الأدنى |
| ------- | -------------------------------- |
| التخزين | ~100 MB (النواة بدون وحدات AGPL) |
| الذاكرة | 512 MB |
| المعالج | أي معالج حديث |
::: tip
BentoPDF موقع ثابت، فلا حاجة إلى قاعدة بيانات أو خادم خلفي!
:::
+211
View File
@@ -0,0 +1,211 @@
# النشر باستخدام Kubernetes
قد يكون Kubernetes أكثر مما يلزم لموقع ثابت، لكنه قد يكون خيارًا ممتازًا إذا كنت تعتمد أصلًا Helm وGitOps.
> [!IMPORTANT]
> **الترويسات المطلوبة لتحويل ملفات Office**
>
> تتطلب الأدوات المعتمدة على LibreOffice (تحويل Word وExcel وPowerPoint) ترويسات HTTP هذه لدعم `SharedArrayBuffer`:
>
> - `Cross-Origin-Opener-Policy: same-origin`
> - `Cross-Origin-Embedder-Policy: require-corp`
>
> تتضمن صور nginx الرسمية لـ BentoPDF هذه الترويسات. في Kubernetes، **تُعد وحدات تحكم Ingress/Gateway أيضًا وكلاء عكسيين**، لذا تأكد من الحفاظ على هذه الترويسات (أو أضفها على الحافة).
## المتطلبات المسبقة
- عنقود Kubernetes
- Helm v3
- صورة nginx لـ BentoPDF (مثل `ghcr.io/alam00000/bentopdf:<tag>`) تعمل على **المنفذ 8080**
## النشر باستخدام Helm
### التثبيت من هذا المستودع (مخطط محلي)
```bash
kubectl create namespace bentopdf
helm upgrade --install bentopdf /path/to/bentopdf/chart \
--namespace bentopdf \
--set image.repository=ghcr.io/alam00000/bentopdf \
--set image.tag=latest
```
### التثبيت من GHCR (مخطط OCI)
إذا كان المخطط منشورًا على GHCR كعنصر OCI:
```bash
export GHCR_USERNAME="<github-org-or-user>"
helm upgrade --install bentopdf oci://ghcr.io/$GHCR_USERNAME/charts/bentopdf \
--namespace bentopdf \
--create-namespace \
--version 0.1.0 \
--set image.repository=ghcr.io/alam00000/bentopdf \
--set image.tag=latest
```
## إتاحته
### إعادة توجيه المنفذ (اختبار سريع)
```bash
kubectl -n bentopdf port-forward deploy/bentopdf 8080:8080
```
### Ingress (اختياري)
فعّل Ingress (مثال لـ nginx-ingress):
```yaml
ingress:
enabled: true
className: nginx
hosts:
- host: pdf.example.com
paths:
- path: /
pathType: Prefix
```
### Gateway API (اختياري)
يدعم هذا المخطط `Gateway` + `HTTPRoute` الخاصين بـ Gateway API.
مثال (مشغّل Cloudflare Gateway API):
```yaml
gateway:
enabled: true
name: bento-tunnel
namespace: bentopdf
gatewayClassName: cloudflare
httpRoute:
enabled: true
parentRefs:
- name: bento-tunnel
namespace: bentopdf
sectionName: http
hostnames:
- pdfs.example.com
```
## التأكد من استمرار عمل ترويسات SharedArrayBuffer (Ingress/Gateway)
### ما الذي "يجب" أن يحدث
يضبط إعداد nginx في BentoPDF ترويسات الاستجابة المطلوبة. تقوم معظم وحدات تحكم Ingress/Gateway بـ**تمرير ترويسات استجابة المصدر كما هي دون تغيير**.
### ما الذي قد يعطّل ذلك
- سياسة في وحدة التحكم أو على الحافة **تستبدل** ترويسات الاستجابة أو **تحذفها**
- وسيط "ترويسات أمان" يضبط قيم COOP/COEP مختلفة
### كيف تتحقق
نفّذ هذا على نقطة النهاية العامة لديك:
```bash
curl -I https://pdf.example.com/ | egrep -i 'cross-origin-opener-policy|cross-origin-embedder-policy'
```
يجب أن ترى:
- `Cross-Origin-Opener-Policy: same-origin`
- `Cross-Origin-Embedder-Policy: require-corp`
### إذا كانت وحدة تحكم Ingress لا تحافظ عليها
أضف الترويسات على الحافة (بحسب وحدة التحكم). مثال لـ **nginx-ingress**:
```yaml
ingress:
enabled: true
className: nginx
annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
add_header Cross-Origin-Opener-Policy "same-origin" always;
add_header Cross-Origin-Embedder-Policy "require-corp" always;
```
## أخطاء نوع MIME لملفات `.mjs` (عارض توقيع PDF / ملء النماذج فارغ)
إذا عرضت وحدة تحكم المتصفح `Failed to load module script: ... non-JavaScript MIME type "application/octet-stream"` عند طلب `.mjs`، فإن وحدة تحكم Ingress/Gateway الموجودة أمام nginx الخاص بـ BentoPDF تستبدل ترويسة `Content-Type` الأصلية بـ `application/octet-stream`.
يقدّم nginx في صورة BentoPDF ملفات `.mjs` أصلًا بنوع `application/javascript`. الحل هو منع وحدة التحكم من حذفها أو استبدالها. بالنسبة إلى nginx-ingress:
```yaml
ingress:
annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
location ~* \.mjs$ {
types {} default_type application/javascript;
}
```
أو استخدم مرشح `ResponseHeaderModifier` في Gateway API لضبط `Content-Type: application/javascript` لمسارات `.mjs`. تحقق عبر DevTools ثم تبويب Network: يجب أن يعرض طلب `.mjs` الفاشل الآن `content-type: application/javascript`.
### إذا كنت تستخدم Gateway API وتريد إضافة الترويسات قسرًا
يدعم Gateway API مرشح `ResponseHeaderModifier`. يمكنك إرفاقه في `httpRoute.rules[*].filters`:
```yaml
httpRoute:
enabled: true
hostnames: [pdf.example.com]
parentRefs:
- name: bento-tunnel
namespace: misc
sectionName: http
rules:
- matches:
- path: { type: PathPrefix, value: / }
filters:
- type: ResponseHeaderModifier
responseHeaderModifier:
set:
- name: Cross-Origin-Opener-Policy
value: same-origin
- name: Cross-Origin-Embedder-Policy
value: require-corp
```
يعتمد دعم مرشحات محددة على وحدة تحكم Gateway لديك. إذا تم تجاهل مرشح، فأضف الترويسات في طبقة الحافة/وحدة التحكم بدلًا من ذلك.
## تعطيل أدوات محددة
استخدم ConfigMap لتعطيل الأدوات وقت التشغيل دون إعادة بناء الصورة:
```yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: bentopdf-config
namespace: bentopdf
data:
config.json: |
{
"disabledTools": ["edit-pdf", "sign-pdf", "encrypt-pdf"]
}
```
اربطه بالمجلد المقدَّم:
```yaml
spec:
containers:
- name: bentopdf
volumeMounts:
- name: config
mountPath: /usr/share/nginx/html/config.json
subPath: config.json
readOnly: true
volumes:
- name: config
configMap:
name: bentopdf-config
```
معرّفات الأدوات هي عنوان URL للصفحة بدون `.html`: افتح أي أداة وانظر إلى العنوان (مثل `edit-pdf` و`merge-pdf` و`compress-pdf`). تُخفى الأدوات المعطلة من الصفحة الرئيسية والبحث والاختصارات ومنشئ سير العمل والوصول المباشر عبر URL. راجع [دليل Docker](/ar/self-hosting/docker#تعطيل-أدوات-محددة) للاطلاع على القائمة الكاملة للخيارات.
+139
View File
@@ -0,0 +1,139 @@
# النشر على Netlify
توفّر [Netlify](https://netlify.com) استضافة ممتازة للمواقع الثابتة مع خطة مجانية سخية.
## النشر بنقرة واحدة
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/alam00000/bentopdf)
## النشر اليدوي
### الخطوة 1: ربط المستودع
1. سجّل الدخول إلى [Netlify](https://app.netlify.com)
2. انقر على "Add new site" ← "Import an existing project"
3. اربط حسابك على GitHub
4. اختر نسخة BentoPDF المتفرعة (fork) الخاصة بك
### الخطوة 2: ضبط إعدادات البناء
| الإعداد | القيمة |
| ---------- | --------------- |
| أمر البناء | `npm run build` |
| مجلد النشر | `dist` |
| إصدار Node | 18+ |
### الخطوة 3: النشر
انقر على "Deploy site" وانتظر اكتمال البناء.
## ملف الإعداد
أنشئ `netlify.toml` في جذر مشروعك:
```toml
[build]
command = "npm run build"
publish = "dist"
[build.environment]
NODE_VERSION = "18"
# Required security headers for SharedArrayBuffer (used by LibreOffice WASM)
[[headers]]
for = "/*"
[headers.values]
Cross-Origin-Embedder-Policy = "require-corp"
Cross-Origin-Opener-Policy = "same-origin"
Cross-Origin-Resource-Policy = "cross-origin"
# Pre-compressed LibreOffice WASM binary - must be served with Content-Encoding
[[headers]]
for = "/libreoffice-wasm/soffice.wasm.gz"
[headers.values]
Content-Type = "application/wasm"
Content-Encoding = "gzip"
Cache-Control = "public, max-age=31536000, immutable"
# Pre-compressed LibreOffice WASM data - must be served with Content-Encoding
[[headers]]
for = "/libreoffice-wasm/soffice.data.gz"
[headers.values]
Content-Type = "application/octet-stream"
Content-Encoding = "gzip"
Cache-Control = "public, max-age=31536000, immutable"
# Cache other WASM files
[[headers]]
for = "*.wasm"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"
Content-Type = "application/wasm"
# SPA routing
[[redirects]]
from = "/*"
to = "/index.html"
status = 200
```
::: warning مهم
ترويستا `Cross-Origin-Embedder-Policy` و`Cross-Origin-Opener-Policy` مطلوبتان لتحويلات Word/ODT/Excel/PowerPoint إلى PDF. بدونهما يصبح `SharedArrayBuffer` غير متاح وسيفشل محرك LibreOffice WASM في التهيئة.
تخبر الترويستان `Content-Encoding: gzip` الخاصتان بملفي `.wasm.gz` و`.data.gz` المتصفح بفك ضغطهما تلقائيًا. بدونهما يتلقى المتصفح بايتات gzip الخام وتفشل ترجمة WASM.
:::
## متغيرات البيئة
اضبطها في Site settings ← Environment variables:
| المتغير | الوصف |
| ----------------------- | ---------------------------------------------------------- |
| `SIMPLE_MODE` | اضبطه على `true` لبناء مبسط |
| `VITE_BRAND_NAME` | اسم العلامة التجارية المخصص (يحل محل "BentoPDF") |
| `VITE_BRAND_LOGO` | مسار الشعار نسبةً إلى `public/` (مثل `images/my-logo.svg`) |
| `VITE_FOOTER_TEXT` | نص التذييل/حقوق النشر المخصص |
| `VITE_DEFAULT_LANGUAGE` | لغة الواجهة الافتراضية (مثل `fr` و`de` و`es`) |
## نطاق مخصص
1. انتقل إلى Site settings ← Domain management
2. انقر على "Add custom domain"
3. اتبع تعليمات إعداد DNS
## الوسائط الكبيرة
بالنسبة إلى ملفات WASM الكبيرة، فكّر في تفعيل [Netlify Large Media](https://docs.netlify.com/large-media/overview/):
```bash
netlify lm:setup
git lfs track "*.wasm"
```
## استكشاف الأخطاء وإصلاحها
### تحويل Word/ODT/Excel إلى PDF يتوقف عند 55%
إذا توقفت تحويلات المستندات عند 55%، فافتح وحدة تحكم DevTools وتحقق:
```js
console.log(window.crossOriginIsolated); // should be true
console.log(typeof SharedArrayBuffer); // should be "function"
```
إذا كانت قيمة `crossOriginIsolated` هي `false`، فإن ترويسات COEP/COOP من `netlify.toml` لا تُطبَّق. تأكد من أن الملف في جذر مشروعك وأعد النشر.
إذا ظهرت `expected magic word 00 61 73 6d, found 1f 8b 08 08` في وحدة التحكم، فإن ملفات `.wasm.gz` تفتقر إلى ترويسات `Content-Encoding: gzip`. تأكد من وجود كتل `[[headers]]` الخاصة بـ `soffice.wasm.gz` و`soffice.data.gz` في `netlify.toml`.
### فشل البناء
تحقق من توافق إصدار Node:
```toml
[build.environment]
NODE_VERSION = "20"
```
### بطء التحميل الأولي
فعّل تحسين الأصول في Site settings ← Build & deploy ← Asset optimization.
+232
View File
@@ -0,0 +1,232 @@
# النشر باستخدام Nginx
استضف BentoPDF على خادمك الخاص باستخدام Nginx.
## المتطلبات
- خادم Ubuntu/Debian
- Nginx مثبّت
- شهادة SSL (يُنصح بـ Let's Encrypt)
## الخطوة 1: بناء المشروع
```bash
git clone https://github.com/alam00000/bentopdf.git
cd bentopdf
npm install
npm run build
```
لتخصيص العلامة التجارية، اضبط متغيرات البيئة قبل البناء:
```bash
VITE_BRAND_NAME="AcmePDF" VITE_BRAND_LOGO="images/acme-logo.svg" npm run build
```
## الخطوة 2: نسخ الملفات
```bash
sudo mkdir -p /var/www/bentopdf
sudo cp -r dist/* /var/www/bentopdf/
sudo chown -R www-data:www-data /var/www/bentopdf
```
## الخطوة 3: إعداد Nginx
أنشئ `/etc/nginx/sites-available/bentopdf`:
```nginx
server {
listen 80;
server_name your-domain.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name your-domain.com;
# SSL Configuration
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
root /var/www/bentopdf;
index index.html;
# Gzip compression
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/wasm;
gzip_min_length 1000;
# WASM MIME type
types {
application/wasm wasm;
}
# Required headers for SharedArrayBuffer (LibreOffice WASM)
# These must be on every response - especially HTML pages
add_header Cross-Origin-Embedder-Policy "require-corp" always;
add_header Cross-Origin-Opener-Policy "same-origin" always;
add_header Cross-Origin-Resource-Policy "cross-origin" always;
# Security headers
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
# Pre-compressed LibreOffice WASM binary
location ~* /libreoffice-wasm/soffice\.wasm\.gz$ {
gzip off;
types {} default_type application/wasm;
add_header Content-Encoding gzip;
add_header Cache-Control "public, immutable";
add_header Cross-Origin-Embedder-Policy "require-corp" always;
add_header Cross-Origin-Opener-Policy "same-origin" always;
}
# Pre-compressed LibreOffice WASM data
location ~* /libreoffice-wasm/soffice\.data\.gz$ {
gzip off;
types {} default_type application/octet-stream;
add_header Content-Encoding gzip;
add_header Cache-Control "public, immutable";
add_header Cross-Origin-Embedder-Policy "require-corp" always;
add_header Cross-Origin-Opener-Policy "same-origin" always;
}
# Cache static assets
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|wasm)$ {
expires 1y;
add_header Cache-Control "public, immutable";
add_header Cross-Origin-Embedder-Policy "require-corp" always;
add_header Cross-Origin-Opener-Policy "same-origin" always;
}
# SPA routing - serve index.html for all routes
location / {
try_files $uri $uri/ /index.html;
add_header Cross-Origin-Embedder-Policy "require-corp" always;
add_header Cross-Origin-Opener-Policy "same-origin" always;
}
}
```
## الخطوة 4: تفعيل الموقع
```bash
sudo ln -s /etc/nginx/sites-available/bentopdf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
```
## الخطوة 5: SSL مع Let's Encrypt
```bash
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com
```
## النشر في مجلد فرعي
للاستضافة على `/pdf/`:
```nginx
location /pdf/ {
alias /var/www/bentopdf/;
try_files $uri $uri/ /pdf/index.html;
}
```
ابنِ باستخدام:
```bash
BASE_URL=/pdf/ npm run build
```
## ضبط الأداء
أضف إلى `nginx.conf`:
```nginx
http {
# Enable sendfile
sendfile on;
tcp_nopush on;
tcp_nodelay on;
# Increase buffer sizes
client_max_body_size 100M;
# Worker connections
worker_connections 2048;
}
```
## استكشاف الأخطاء وإصلاحها
### عدم تحميل WASM
تأكد من ضبط نوع MIME:
```nginx
types {
application/wasm wasm;
}
```
### عارض توقيع PDF أو ملء النماذج فارغ (خطأ MIME لملفات `.mjs`)
إذا عرضت وحدة تحكم المتصفح:
```
Failed to load module script: The server responded with a non-JavaScript
MIME type of "application/octet-stream". Strict MIME type checking is
enforced for module scripts per HTML spec.
```
...وانتهى الطلب الفاشل بـ `.mjs`، فإن nginx لديك يفتقر إلى التعيين `.mjs → application/javascript`. يأتي عارض PDF المضمّن (الذي تستخدمه أدوات توقيع PDF وملء النماذج وبعض الأدوات الأخرى) بملفات وحدات ES بامتداد `.mjs`، ولا يتضمنها ملف `mime.types` الافتراضي في nginx.
أصلح ذلك بإضافة `mjs` إلى سطر `application/javascript` الموجود في `/etc/nginx/mime.types`:
```nginx
application/javascript js mjs;
```
> لا تُضف سطرًا _ثانيًا_ لـ `application/javascript`: يحلل nginx الملف `mime.types` سطرًا بسطر ويفوز تعيين واحد فقط من النوع إلى الامتداد، لذا يُتجاهل السطر الثاني بصمت في بعض الإصدارات. عدّل السطر الموجود لإضافة `mjs` بجانب `js`.
أو تجاوزه محليًا داخل كتلة server (دون تعديل الملف العام):
```nginx
types {
application/javascript js mjs;
application/wasm wasm;
}
```
أعد تحميل nginx بعد التغيير:
```bash
sudo nginx -t && sudo systemctl reload nginx
```
للتأكد: في DevTools بالمتصفح، افتح تبويب Network، وابحث عن طلب `.mjs` الفاشل وتحقق من ترويسة الاستجابة `Content-Type`. يجب أن تكون الآن `application/javascript` وليس `application/octet-stream`.
### تحويل Word/ODT/Excel إلى PDF لا يعمل
يتطلب LibreOffice WASM وجود `SharedArrayBuffer`، الذي يحتاج إلى ترويستي `Cross-Origin-Embedder-Policy` و`Cross-Origin-Opener-Policy`. كما يحتاج إلى سياق آمن، لذا يعمل `http://localhost` للاختبار المحلي، بينما يتطلب `http://192.168.x.x` أو غيره من عناوين IP المحلية عادةً HTTPS. لاحظ أن توجيهات `add_header` في nginx داخل كتلة `location` **تستبدل** توجيهات `add_header` على مستوى server ولا تُدمج معها. يجب أن تتضمن كل كتلة `location` لها `add_header` خاص بها ترويستي COEP/COOP.
تحقق باستخدام:
```bash
curl -I https://your-domain.com/ | grep -i cross-origin
```
إذا كنت تستخدم وكيلًا عكسيًا أمام nginx، فتأكد من أنه يحافظ على هذه الترويسات.
### 502 Bad Gateway
افحص سجلات أخطاء Nginx:
```bash
sudo tail -f /var/log/nginx/error.log
```
+122
View File
@@ -0,0 +1,122 @@
# النشر على Vercel
توفّر [Vercel](https://vercel.com) أسهل تجربة نشر للمواقع الثابتة.
## النشر بنقرة واحدة
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/alam00000/bentopdf)
## النشر اليدوي
### الخطوة 1: عمل Fork للمستودع
اعمل Fork لـ [bentopdf/bentopdf](https://github.com/alam00000/bentopdf) إلى حسابك على GitHub.
### الخطوة 2: الاستيراد إلى Vercel
1. انتقل إلى [vercel.com/new](https://vercel.com/new)
2. اختر المستودع المتفرع الخاص بك
3. اضبط المشروع:
| الإعداد | القيمة |
| ---------------- | --------------- |
| Framework Preset | Vite |
| Build Command | `npm run build` |
| Output Directory | `dist` |
| Install Command | `npm install` |
### الخطوة 3: متغيرات البيئة (اختياري)
أضف هذه عند الحاجة:
| المتغير | الوصف |
| ----------------------- | ---------------------------------------------------------- |
| `SIMPLE_MODE` | اضبطه على `true` لواجهة مبسطة |
| `VITE_BRAND_NAME` | اسم العلامة التجارية المخصص (يحل محل "BentoPDF") |
| `VITE_BRAND_LOGO` | مسار الشعار نسبةً إلى `public/` (مثل `images/my-logo.svg`) |
| `VITE_FOOTER_TEXT` | نص التذييل/حقوق النشر المخصص |
| `VITE_DEFAULT_LANGUAGE` | لغة الواجهة الافتراضية (مثل `fr` و`de` و`es`) |
### الخطوة 4: النشر
انقر على "Deploy" وانتظر اكتمال البناء.
## نطاق مخصص
1. انتقل إلى إعدادات مشروعك
2. افتح "Domains"
3. أضف نطاقك المخصص
4. اضبط DNS كما هو موضح
## القيود
::: warning الملفات الكبيرة
للدوال عديمة الخادم (serverless) في Vercel حد قدره 50MB. بما أن BentoPDF موقع ثابت، فلا ينبغي أن يؤثر ذلك عليك، لكن وحدات WASM كبيرة (~100MB إجمالًا). تأكد من تقديمها من مجلد `/public`.
:::
## استكشاف الأخطاء وإصلاحها
### انتهاء مهلة البناء
إذا انتهت مهلة البناء، فجرّب:
```json
// vercel.json
{
"buildCommand": "npm run build",
"outputDirectory": "dist"
}
```
### خطأ 404 عند التحديث
أضف ملف `vercel.json` لتوجيه SPA:
```json
{
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}
```
### تحويل Word/ODT/Excel إلى PDF لا يعمل
تتطلب تحويلات LibreOffice WASM وجود `SharedArrayBuffer`، الذي يحتاج إلى ترويسات الاستجابة هذه على جميع الصفحات:
- `Cross-Origin-Embedder-Policy: require-corp`
- `Cross-Origin-Opener-Policy: same-origin`
كما تحتاج ملفات `.wasm.gz` و`.data.gz` المضغوطة مسبقًا إلى `Content-Encoding: gzip` ليفك المتصفح ضغطها.
أضف هذه إلى `vercel.json`:
```json
{
"rewrites": [{ "source": "/(.*)", "destination": "/index.html" }],
"headers": [
{
"source": "/(.*)",
"headers": [
{ "key": "Cross-Origin-Embedder-Policy", "value": "require-corp" },
{ "key": "Cross-Origin-Opener-Policy", "value": "same-origin" },
{ "key": "Cross-Origin-Resource-Policy", "value": "cross-origin" }
]
},
{
"source": "/libreoffice-wasm/soffice.wasm.gz",
"headers": [
{ "key": "Content-Type", "value": "application/wasm" },
{ "key": "Content-Encoding", "value": "gzip" }
]
},
{
"source": "/libreoffice-wasm/soffice.data.gz",
"headers": [
{ "key": "Content-Type", "value": "application/octet-stream" },
{ "key": "Content-Encoding", "value": "gzip" }
]
}
]
}
```
للتحقق، افتح وحدة تحكم DevTools ونفّذ `console.log(window.crossOriginIsolated)`، ويجب أن تعيد `true`.
+49
View File
@@ -0,0 +1,49 @@
---
title: إضافة مرفقات
description: ضمّن ملفات من أي نوع داخل ملف PDF على مستوى المستند أو مرتبطة بصفحات محددة.
---
# إضافة مرفقات
ضمّن ملفًا واحدًا أو أكثر مباشرة داخل مستند PDF. يمكن إضافة المرفقات على مستوى المستند (تظهر في لوحة المرفقات في أي قارئ PDF) أو ربطها بصفحات محددة.
## طريقة العمل
1. ارفع ملف PDF الذي تريد إرفاق الملفات به.
2. استخدم منطقة إفلات المرفقات لاختيار الملفات التي تريد تضمينها (من أي نوع).
3. اختر مستوى المرفق: **المستند** (الافتراضي) أو **الصفحة**.
4. إذا اخترت مستوى الصفحة، فأدخل نطاق الصفحات (مثل `1-3` أو `5`).
5. انقر على زر المعالجة. سيتم تنزيل ملف PDF المعدّل مع الملفات المضمّنة.
## المزايا
- إرفاق أي نوع من الملفات: صور، جداول بيانات، أرشيفات، ملفات تنفيذية، أي شيء
- وضع المرفق على مستوى المستند أو على مستوى الصفحة
- يمكن إرفاق عدة ملفات في عملية واحدة
- عرض أسماء الملفات وأحجامها لجميع المرفقات المحددة
- يحافظ الناتج على محتوى PDF الأصلي مع إضافة الملفات المضمّنة
## الخيارات
| الخيار | الوصف |
| ----------------- | -------------------------------------------------------------- |
| **مستوى المستند** | يرفق الملفات بملف PDF ككل، ويمكن الوصول إليها من لوحة المرفقات |
| **مستوى الصفحة** | يرفق الملفات بصفحات محددة، تُحدَّد عبر إدخال نطاق الصفحات |
## حالات الاستخدام
- حزم بيانات المصدر (ملفات Excel وCSV) مع تقرير PDF
- إرفاق ملفات الصور الأصلية بملف PDF لمعرض أعمال تصوير
- تضمين المستندات الداعمة داخل عقد أو عرض مقترح
- إضافة مواد تكميلية إلى صفحات محددة من دليل تدريبي
## نصائح
- المرفقات على مستوى المستند هي الأكثر دعمًا في قارئات PDF. قد لا تظهر المرفقات على مستوى الصفحة في جميع العارضات.
- لا يوجد حد لحجم المرفقات، لكن الملفات المضمّنة الكبيرة جدًا ستزيد حجم PDF بما يتناسب معها.
## أدوات ذات صلة
- [استخراج المرفقات](./extract-attachments)
- [تعديل المرفقات](./edit-attachments)
- [دمج PDF](./merge-pdf)
+40
View File
@@ -0,0 +1,40 @@
---
title: إضافة صفحة فارغة
description: أدرج صفحة فارغة أو أكثر في أي موضع من مستند PDF.
---
# إضافة صفحة فارغة
أدرج صفحات فارغة في ملف PDF في الموضع الذي تحدده. أنت تتحكم في مكان الصفحات الفارغة وعددها.
## طريقة العمل
1. ارفع ملف PDF. تعرض الأداة عدد الصفحات.
2. أدخل **الموضع** الذي ستُدرج فيه الصفحات الفارغة. استخدم `0` للإدراج في البداية تمامًا، أو إجمالي عدد الصفحات للإضافة في النهاية.
3. أدخل **عدد** الصفحات الفارغة المراد إضافتها (الافتراضي 1).
4. انقر على زر المعالجة. سيتم تنزيل ملف PDF المعدّل مع الصفحات الفارغة المدرجة.
## المزايا
- الإدراج في أي موضع: بداية المستند أو وسطه أو نهايته
- إضافة عدة صفحات فارغة في عملية واحدة
- يتحدث تلميح الموضع ديناميكيًا بحسب عدد صفحات ملف PDF المرفوع
- صفحات فارغة بحجم A4 القياسي
## حالات الاستخدام
- إضافة صفحة فاصلة فارغة بين أقسام مستند مجمّع
- إدراج صفحات فارغة لضبط الطباعة على الوجهين
- إضافة مساحة للملاحظات المكتوبة بخط اليد في دليل دراسي مطبوع
- إكمال مستند لتحقيق الحد الأدنى المطلوب لعدد الصفحات
## نصائح
- الموضع `0` يُدرج قبل الصفحة الأولى. أما الموضع المساوي لإجمالي عدد الصفحات فيضيف بعد الصفحة الأخيرة.
- إذا أردت إدراج محتوى (وليس صفحات فارغة فقط) في موضع محدد، فاستخدم [أداة PDF المتعددة](./pdf-multi-tool) لإدراج ملف PDF آخر بعد صفحة معينة.
## أدوات ذات صلة
- [تكرار وتنظيم](./organize-pdf)
- [أداة PDF المتعددة](./pdf-multi-tool)
- [دمج PDF](./merge-pdf)
+53
View File
@@ -0,0 +1,53 @@
---
title: إضافة تسميات الصفحات
description: أضف تسميات صفحات PDF بالأرقام الرومانية والبادئات الحرفية والترقيم المخصص وعدة قواعد لكل مستند.
---
# إضافة تسميات الصفحات
تتحكم تسميات الصفحات في طريقة عرض أرقام الصفحات في عارضات PDF (الرقم الظاهر في شريط الأدوات، وليس المطبوع على الصفحة). تتيح لك هذه الأداة تعيين أنظمة تسمية مختلفة لنطاقات صفحات مختلفة: أرقام رومانية للصفحات التمهيدية، وأرقام عشرية للمتن، وملاحق مرقّمة بالحروف، وغير ذلك.
## طريقة العمل
1. ارفع ملف PDF.
2. تظهر لوحة الخيارات مع قاعدة تسمية واحدة افتراضيًا.
3. اضبط كل قاعدة بنطاق الصفحات والنمط والبادئة الاختيارية وقيمة البداية.
4. انقر على **إضافة قاعدة** لإنشاء قواعد إضافية لأقسام مختلفة.
5. انقر على **إضافة تسميات الصفحات** لتطبيق جميع القواعد وتنزيل النتيجة.
## الخيارات
لكل قاعدة تسمية الإعدادات التالية:
- **نطاق الصفحات**: الصفحات التي تنطبق عليها القاعدة. اتركه فارغًا لجميع الصفحات. يدعم نطاقات مثل `1-4` أو `7` أو `odd` أو `1-9,30-40`.
- **نمط التسمية**: أرقام عربية عشرية، أرقام رومانية صغيرة (i, ii, iii)، أرقام رومانية كبيرة (I, II, III)، حروف صغيرة (a, b, c)، حروف كبيرة (A, B, C)، أو بلا تسمية (بادئة فقط).
- **بادئة التسمية**: نص اختياري يُضاف قبل كل تسمية، مثل "A-" لإنشاء تسميات مثل A-1 وA-2 وA-3.
- **قيمة البداية**: الرقم الذي يبدأ العد منه. الافتراضي 1. اضبطه على 0 للترقيم الذي يبدأ من الصفر.
- **متابعة الترقيم عبر النطاقات المتفرقة**: فعّله عندما تستهدف القاعدة صفحات غير متجاورة (مثل `1-9,30-40` أو `odd`) وتريد أن يستمر الترقيم بالتتابع.
- **إزالة تسميات الصفحات الحالية**: محدد افتراضيًا. يمسح أي تسميات سابقة قبل تطبيق قواعدك الجديدة.
## المزايا
- عدة قواعد تسمية لكل مستند لأنظمة الترقيم المعقدة
- ستة أنماط تسمية تغطي جميع أنظمة الترقيم القياسية
- دعم البادئات المخصصة للتسمية حسب الأقسام
- دعم النطاقات المتفرقة مع ترقيم متتابع
- خيار الإبقاء على التسميات الحالية أو إزالتها
## حالات الاستخدام
- ضبط تسميات رومانية (i, ii, iii) لمقدمة كتاب وتسميات عشرية للنص الرئيسي
- تسمية صفحات الملاحق ببادئات حرفية مثل "A-1" و"A-2" و"B-1" و"B-2"
- تصحيح تسميات الصفحات في مستند ممسوح ضوئيًا لا تطابق فيه أرقام الصفحات الفعلية ترتيب صفحات PDF
- إضافة ترقيم يبدأ من الصفر للمستندات التقنية
## نصائح
- تسميات الصفحات بيانات وصفية تعرضها عارضات PDF في شريط التنقل. لا تُطبع على الصفحة نفسها. للحصول على أرقام ظاهرة، استخدم [أرقام الصفحات](./page-numbers).
- تتطلب هذه الأداة ضبط CoherentPDF (CPDF) في إعدادات WASM. إذا لم يكن مضبوطًا، فستُطالَب بإعداده.
## أدوات ذات صلة
- [أرقام الصفحات](./page-numbers)
- [ترقيم بيتس](./bates-numbering)
- [تعديل الإشارات المرجعية](./bookmark)
+45
View File
@@ -0,0 +1,45 @@
---
title: إضافة أختام
description: أضف أختامًا صورية إلى صفحات PDF باستخدام شريط أدوات تعليقات توضيحية مدمج مع نسب الختم إلى اسم المستخدم.
---
# إضافة أختام
ضع أختامًا صورية على صفحات PDF باستخدام عارض مدمج مزوّد بشريط أدوات لتعليقات الأختام. يمكن أن تتضمن الأختام اسمك للنسب، ما يجعلها مفيدة في مسارات الموافقة وعمليات المراجعة ووسم المستندات.
## طريقة العمل
1. أدخل اسمك في حقل **اسم مستخدم الختم**. سيظهر هذا الاسم على الأختام التي تنشئها.
2. ارفع ملف PDF بالنقر أو بسحبه إلى منطقة الإفلات.
3. يفتح محرر الأختام مع تحميل مستندك في العارض.
4. استخدم أداة الختم الصوري في شريط الأدوات لاختيار الأختام ووضعها على أي صفحة.
5. حدّد موضع الأختام وغيّر حجمها حسب الحاجة.
6. انقر على **حفظ PDF المختوم** لتنزيل النتيجة.
## المزايا
- عارض PDF مدمج مع شريط أدوات تعليقات خاص بالأختام
- نسب الأختام المنشأة إلى اسم المستخدم
- وضع الأختام الصورية على أي صفحة
- تحديد الموضع وتغيير الحجم بالسحب والإفلات
- ضبط حجم العارض تلقائيًا بحسب نسبة أبعاد الصفحة
- عرض الملف مع اسمه وحجمه
## حالات الاستخدام
- إضافة أختام صورية مثل "APPROVED" أو "REVIEWED" إلى المستندات في مسار المراجعة
- وضع صور ختم الشركة أو ختم كاتب العدل على المستندات الرسمية
- وسم الصفحات بأختام "RECEIVED" تتضمن اسم المراجع
- إضافة أختام مراقبة الجودة إلى تقارير الفحص
## نصائح
- اضبط اسم مستخدم الختم قبل رفع ملف PDF. يُضمَّن اسم المستخدم في البيانات الوصفية للختم.
- يضبط العارض ارتفاعه بحسب نسبة أبعاد الصفحة الأولى من PDF للحصول على عرض مثالي.
- للعلامات المائية النصية بدلًا من الأختام الصورية، استخدم أداة [إضافة علامة مائية](./add-watermark).
## أدوات ذات صلة
- [توقيع PDF](./sign-pdf)
- [إضافة علامة مائية](./add-watermark)
- [محرر PDF](./edit-pdf)
+79
View File
@@ -0,0 +1,79 @@
---
title: إضافة علامة مائية
description: ضع علامات مائية نصية أو صورية على صفحات PDF باستخدام محرر مرئي بالسحب والإفلات ومعاينة مباشرة.
---
# إضافة علامة مائية
أضف علامات مائية نصية أو صورية إلى صفحات PDF باستخدام محرر مرئي. يمكنك تحديد موضع العلامة المائية بسحبها مباشرة على المعاينة، وتغيير حجمها بمقابض الزوايا، وضبط الشفافية والتدوير والخط واللون. يمكن أن يكون لكل صفحة موضع علامة مائية خاص بها، أو يمكنك تطبيق العلامة نفسها على جميع الصفحات دفعة واحدة.
## طريقة العمل
1. ارفع ملف PDF.
2. يفتح المحرر مع معاينة مباشرة للصفحة الأولى وطبقة علامة مائية قابلة للسحب.
3. اختر بين وضع العلامة المائية **النصية** أو **الصورية** باستخدام أزرار التبديل.
4. اضبط إعدادات العلامة المائية في اللوحة الجانبية.
5. اسحب العلامة المائية على المعاينة لوضعها في المكان الذي تريده تمامًا. استخدم مقابض الزوايا لتغيير الحجم.
6. تنقّل بين الصفحات لضبط علامات مائية لكل صفحة، أو أبقِ خيار **تطبيق على جميع الصفحات** محددًا.
7. انقر على **إضافة علامة مائية** للمعالجة والتنزيل.
## الخيارات
**إعدادات العلامة المائية النصية:**
- **النص**: نص العلامة المائية (مثل "CONFIDENTIAL" أو "DRAFT").
- **حجم الخط**: من 10 إلى 200 نقطة. الافتراضي 72.
- **اللون**: أي لون عبر منتقي الألوان.
- **الشفافية**: تحكم في الشفافية من شفاف تمامًا إلى معتم تمامًا.
- **التدوير**: دوّر نص العلامة المائية من -180 إلى 180 درجة.
**إعدادات العلامة المائية الصورية:**
- **رفع صورة**: ارفع ملف PNG أو JPG أو أي صورة أخرى لاستخدامه كعلامة مائية.
- **الشفافية**: تحكم في شفافية الصورة.
- **المقياس**: غيّر حجم العلامة المائية الصورية.
**إعدادات التخطيط:**
- **مفردة**: علامة مائية واحدة لكل صفحة، تُحدَّد بالسحب أو بالمواضع المسبقة.
- **مكررة**: تكرر العلامة المائية على الصفحة كلها في شبكة قطرية تتبع زاوية التدوير، فتغطي العلامة المستند من حافة إلى حافة.
- **الفجوة الأفقية**: المسافة بين المربعات المكررة على امتداد اتجاه النص، كنسبة مئوية من عرض العلامة المائية (في الوضع المكرر فقط).
- **الفجوة الرأسية**: المسافة بين صفوف المربعات المكررة، كنسبة مئوية من ارتفاع العلامة المائية (في الوضع المكرر فقط).
**الإعدادات العامة:**
- **تطبيق على جميع الصفحات**: عند تحديده تنطبق العلامة المائية نفسها على كل صفحة. ألغِ تحديده لضبط علامات مائية فردية لكل صفحة.
- **نطاق الصفحات**: حدد الصفحات التي ستحصل على العلامة المائية (مثل "1-3, 5, 7-9" أو "all").
## المزايا
- تحديد الموضع بالسحب والإفلات على معاينة PDF مباشرة
- علامة مائية قابلة لتغيير الحجم بمقابض الزوايا
- وضعا العلامة المائية النصية والصورية
- تخطيط مفرد أو مكرر على كامل الصفحة مع مسافات قابلة للضبط
- تطبيق العلامة لكل صفحة أو على المستند كله
- التنقل بين الصفحات صفحة صفحة في المعاينة
- عناصر تحكم في الشفافية والتدوير
- تصفية بنطاق الصفحات
## حالات الاستخدام
- وسم المستندات المسودة بعلامة "DRAFT" قبل تعميمها للمراجعة
- إضافة علامات "CONFIDENTIAL" المائية إلى التقارير المالية الحساسة
- وسم المستندات بعلامة مائية صورية لشعار الشركة
- ختم "SAMPLE" على وثائق المنتجات المشاركة مع العملاء المحتملين
- إضافة إشعارات حقوق النشر إلى مواد PDF الموزعة
## نصائح
- للعلامات المائية القطرية عبر الصفحة، اضبط التدوير على نحو 45 درجة وكبّر حجم الخط.
- يجعل الوضع المكرر إعادة استخدام المستند بعد القص أصعب بكثير، لأن إزالة علامة واحدة تترك عشرات غيرها. خفّض الشفافية عند التكرار ليبقى النص الأساسي مقروءًا.
- العلامات المائية الصورية ذات الخلفيات الشفافة (بصيغة PNG) تمتزج بسلاسة أكبر مع محتوى المستند.
- إذا كنت تحتاج نص علامة مائية مختلفًا في صفحات مختلفة، فألغِ تحديد "تطبيق على جميع الصفحات" وتنقّل صفحة بصفحة.
## أدوات ذات صلة
- [رأس وتذييل](./header-footer)
- [إضافة أختام](./add-stamps)
- [ترقيم بيتس](./bates-numbering)
- [توقيع PDF](./sign-pdf)
+55
View File
@@ -0,0 +1,55 @@
---
title: ضبط الألوان
description: اضبط السطوع والتباين والتشبع والصبغة ودرجة الحرارة والتلوين وغاما والبني الداكن (سيبيا) في ملف PDF.
---
# ضبط الألوان
مجموعة أدوات كاملة لتدرج الألوان في ملفات PDF. اضبط ثمانية معاملات مستقلة (السطوع، التباين، التشبع، إزاحة الصبغة، درجة الحرارة، التلوين، غاما، السيبيا) مع معاينة مباشرة تتحدث أثناء تحريك كل شريط تمرير.
## طريقة العمل
1. ارفع ملف PDF.
2. يفتح المحرر عارضًا معاينة للصفحة الأولى ولوحة إعدادات الألوان.
3. حرّك أشرطة التمرير لضبط كل معامل لوني. تتحدث المعاينة في الوقت الفعلي.
4. انقر على **إعادة تعيين** لاستعادة جميع أشرطة التمرير إلى مواضعها الافتراضية.
5. انقر على **تطبيق** لمعالجة جميع الصفحات وتنزيل ملف PDF المعدّل.
## الخيارات
- **السطوع**: تفتيح الصفحة بأكملها أو تعتيمها (من -100 إلى +100).
- **التباين**: زيادة الفرق بين المناطق الفاتحة والداكنة أو تقليله (من -100 إلى +100).
- **التشبع**: زيادة شدة الألوان أو تقليلها (من -100 إلى +100). ضبطه على -100 ينتج تدرجًا رماديًا.
- **إزاحة الصبغة**: تدوير عجلة الألوان لإزاحة جميع الألوان بشكل موحد.
- **درجة الحرارة**: إزاحة الألوان نحو الدفء (أصفر/برتقالي) أو البرودة (أزرق).
- **التلوين**: إضافة مسحة خضراء أو أرجوانية.
- **غاما**: ضبط سطوع الدرجات المتوسطة باستخدام منحنى غاما. القيم الأقل من 1.0 تعتّم الدرجات المتوسطة، والقيم الأعلى من 1.0 تفتّحها.
- **السيبيا**: تطبيق تأثير لوني سيبيا كلاسيكي. القيم الأعلى تعطي صبغة بنية أقوى.
## المزايا
- ثمانية معاملات لونية قابلة للضبط بشكل مستقل
- معاينة مباشرة تستجيب فورًا لتغييرات أشرطة التمرير
- زر إعادة تعيين للعودة السريعة إلى الإعدادات الافتراضية
- معالجة جميع صفحات المستند
- يعمل مع أي محتوى PDF (نصوص وصور ورسومات)
## حالات الاستخدام
- تفتيح مسح ضوئي داكن أو تصحيح صفحات مفرطة التعريض
- تقليل تشبع مستند ملون لتوفير الحبر قبل الطباعة
- تطبيق صبغة سيبيا لإعطاء الشهادات أو الجوائز مظهرًا قديمًا
- تصحيح درجة حرارة اللون في الصور المضمّنة في ملف PDF
- رفع التباين في المستندات الممسوحة الباهتة أو منخفضة الجودة
## نصائح
- للتحويل السريع إلى التدرج الرمادي، اسحب شريط التشبع إلى -100 بالكامل.
- شريط غاما مفيد بشكل خاص لتحسين قابلية قراءة المستندات الممسوحة التي تكون فيها الدرجات المتوسطة داكنة جدًا أو فاتحة جدًا.
- مثل أدوات التأثيرات الصورية الأخرى، تحوّل هذه الأداة كل صفحة إلى صورة نقطية. سيكون الناتج قائمًا على الصور، لذا لن يكون النص قابلًا للتحديد.
## أدوات ذات صلة
- [عكس الألوان](./invert-colors)
- [تأثير الماسح الضوئي](./scanner-effect)
- [لون الخلفية](./background-color)
+42
View File
@@ -0,0 +1,42 @@
---
title: تبديل ومزج الصفحات
description: ادمج ملفات PDF بتداخل الصفحات من كل ملف بالتناوب، مع الحفاظ على الإشارات المرجعية.
---
# تبديل ومزج الصفحات
داخِل صفحات عدة ملفات PDF بحيث تتناوب الصفحات بين المستندات. هذه هي الأداة التي تلجأ إليها عندما يكتفي الدمج العادي بإلحاق الملفات واحدًا تلو الآخر، بينما تحتاج إلى الصفحة 1 من الملف A، ثم الصفحة 1 من الملف B، ثم الصفحة 2 من الملف A، وهكذا.
## طريقة العمل
1. ارفع ملفي PDF على الأقل باستخدام منطقة الإفلات.
2. تعرض الأداة كل ملف مع عدد صفحاته وحجمه.
3. اسحب مقابض الإمساك لإعادة ترتيب الملف الذي تأتي صفحاته أولًا في تسلسل التداخل.
4. انقر على **مزج الصفحات** لإنتاج الناتج المتداخل.
5. يتم تنزيل النتيجة باسم `alternated-mixed.pdf`.
## المزايا
- تداخل الصفحات عبر أي عدد من ملفات PDF (اثنان على الأقل)
- إعادة ترتيب الملفات بالسحب والإفلات للتحكم في أولوية التداخل
- الحفاظ على الإشارات المرجعية من المستندات المصدر
- عرض عدد الصفحات وحجم الملف لكل ملف مرفوع
- المعالجة عبر web worker مخصص للحفاظ على سلاسة الواجهة
## حالات الاستخدام
- إعادة تجميع المسح الضوئي على الوجهين عندما مُسحت الصفحات الفردية والزوجية بشكل منفصل
- دمج أوراق الأسئلة مع مفاتيح الإجابات بحيث يتبع كل سؤال جوابه
- دمج مستندات بلغتين صفحة بصفحة (مثل الإنجليزية في وجه والترجمة في الوجه التالي)
- تداخل مسح الوجه الأمامي والخلفي من ماسح ضوئي أحادي الوجه
## نصائح
- إذا كانت أعداد صفحات ملفات PDF المصدر مختلفة، فستنفد صفحات المستند الأقصر أولًا وستظهر الصفحات المتبقية من المستند الأطول في النهاية.
- ترتيب الملفات مهم: الملف الأول في القائمة يقدّم الصفحة الأولى من الناتج. اسحب لإعادة الترتيب عند الحاجة.
## أدوات ذات صلة
- [دمج PDF](./merge-pdf)
- [تكرار وتنظيم](./organize-pdf)
- [تقسيم PDF](./split-pdf)
+45
View File
@@ -0,0 +1,45 @@
---
title: لون الخلفية
description: غيّر لون خلفية كل صفحة في ملف PDF مع الحفاظ على كل المحتوى فوقها.
---
# لون الخلفية
اضبط لون خلفية موحدًا خلف كل المحتوى الموجود في ملف PDF. تنشئ الأداة مستطيلًا ملونًا في كل صفحة وتضع المحتوى الأصلي فوقه، فتبقى النصوص والصور والرسومات مرئية بالكامل على الخلفية الجديدة.
## طريقة العمل
1. ارفع ملف PDF.
2. اختر لون الخلفية باستخدام منتقي الألوان. الافتراضي أصفر فاتح (#FFFFCC).
3. انقر على **تغيير لون الخلفية** للمعالجة.
4. يتم تنزيل ملف PDF المحدّث تلقائيًا.
## الخيارات
- **لون الخلفية**: منتقي ألوان قياسي لاختيار أي لون موحد. الافتراضي أصفر فاتح.
## المزايا
- تطبيق لون خلفية موحد على كل صفحة
- الحفاظ على كل المحتوى الأصلي (نصوص وصور ورسومات متجهة) فوق الطبقة الملونة
- الإبقاء على أبعاد الصفحات الأصلية
- يعمل مع مستندات بأي عدد من الصفحات
## حالات الاستخدام
- إضافة خلفية بلون كريمي أو عاجي فاتح لمنح المستندات مظهرًا أنعم يشبه الورق
- ترميز مجموعات المستندات بالألوان بتطبيق ألوان خلفية مختلفة على فئات مختلفة
- إنشاء نسخ متميزة بصريًا من المستند نفسه لجماهير مختلفة
- إضافة صبغة خلفية فاتحة لتحسين القراءة عند عرض المستندات على الشاشة
## نصائح
- الألوان الفاتحة الهادئة هي الأنسب. قد تجعل الخلفية الداكنة جدًا النص صعب القراءة ما لم يكن النص فاتح اللون أصلًا.
- إذا أردت تغيير لون الخلفية والنص معًا، فطبّق لون الخلفية أولًا، ثم استخدم [تغيير لون النص](./text-color) على الناتج.
- تعمل هذه الأداة على مستوى بنية PDF (دون تحويل إلى صور نقطية)، لذا يبقى النص قابلًا للتحديد والبحث في الناتج.
## أدوات ذات صلة
- [تغيير لون النص](./text-color)
- [عكس الألوان](./invert-colors)
- [ضبط الألوان](./adjust-colors)
+62
View File
@@ -0,0 +1,62 @@
---
title: ترقيم بيتس
description: طبّق أرقام بيتس على ملف PDF واحد أو عدة ملفات بقوالب وحشو وخطوط ومواضع قابلة للتخصيص.
---
# ترقيم بيتس
يختم ترقيم بيتس معرّفات متسلسلة على كل صفحة من ملفات PDF. وهو الطريقة القياسية لتسمية المستندات في الإجراءات القانونية وعمليات التدقيق وسير عمل الامتثال. تدعم هذه الأداة عدة ملفات وقوالب قابلة للتخصيص، وتنتج ملفات PDF مرقّمة بشكل فردي أو أرشيف ZIP واحدًا.
## طريقة العمل
1. ارفع ملف PDF واحدًا أو أكثر. يمكنك سحب عدة ملفات دفعة واحدة.
2. اختر نمطًا جاهزًا أو أنشئ قالبًا مخصصًا.
3. اضبط الموضع والخط والحجم واللون وأرقام البداية.
4. انقر على **تطبيق أرقام بيتس** للمعالجة.
5. يُنزَّل الملف الواحد مباشرة. أما الملفات المتعددة فتُنزَّل كأرشيف ZIP.
## الخيارات
- **النمط الجاهز**: اختر من الصيغ المدمجة:
- Exhibit + Case + Bates + Page (مثل "Exhibit 1 Case XYZ 000001 Page 1")
- Exhibit + Case + Bates (بدون رقم الصفحة)
- Case + Bates
- Bates Number Only (مثل "000001")
- مخصص (اكتب قالبك الخاص)
- **تخصيص النمط**: سلسلة قالب تستخدم العناصر النائبة: `[BATES]` و`[PAGE]` و`[FILE]` و`[FILENAME]`.
- **حشو بيتس**: عدد الخانات (من 3 إلى 6) لأرقام بيتس المحشوة بالأصفار. يظهر في الوضع المخصص فقط.
- **الموضع**: رأس أو تذييل، يسار أو وسط أو يمين.
- **يبدأ بيتس من**: أول رقم بيتس. الافتراضي 1. يستمر الترقيم عبر الملفات.
- **يبدأ عداد الملفات من**: الرقم الابتدائي للعنصر النائب `[FILE]`.
- **الخط**: Helvetica أو Times New Roman أو Courier.
- **حجم الخط**: حجم النص المختوم.
- **اللون**: منتقي ألوان لنص رقم بيتس.
## المزايا
- معاينة مباشرة توضح شكل أرقام بيتس عبر جميع الملفات المرفوعة
- دعم عدة ملفات مع ترقيم متواصل عبر المستندات
- إعادة ترتيب الملفات بالسحب والإفلات للتحكم في تسلسل الترقيم
- ستة خيارات للموضع (رأس/تذييل، يسار/وسط/يمين)
- حساب تكيفي للهوامش يراعي أحجام الصفحات المختلفة
- ناتج ZIP لدفعات الملفات المتعددة
- عناصر نائبة في القوالب لأقصى قدر من المرونة
## حالات الاستخدام
- ختم مستندات الكشف في التقاضي بأرقام مرفقات متسلسلة
- ترقيم حزم أدلة التدقيق التي تمتد عبر عشرات الملفات
- تطبيق أرقام مرجعية تنظيمية على وثائق الامتثال
- تسمية مرفقات طلبات براءات الاختراع بمعرّفات خاصة بالقضية
## نصائح
- اسحب الملفات في قائمة الملفات لإعادة ترتيبها قبل المعالجة. يتبع تسلسل ترقيم بيتس هذا الترتيب.
- استخدم العنصر النائب `[FILENAME]` لتضمين اسم الملف الأصلي في الختم، ما يساعد على تتبع الصفحات إلى المستندات المصدر.
- يتحدث مربع المعاينة في الوقت الفعلي عند تغيير الإعدادات، لذا يمكنك التحقق من الصيغة قبل المعالجة.
## أدوات ذات صلة
- [أرقام الصفحات](./page-numbers)
- [إضافة تسميات الصفحات](./add-page-labels)
- [رأس وتذييل](./header-footer)
+44
View File
@@ -0,0 +1,44 @@
---
title: BMP إلى PDF
description: حوّل صور BMP النقطية إلى صيغة PDF مباشرة في متصفحك، دون الحاجة إلى رفع أي شيء إلى خادم.
---
# BMP إلى PDF
حوّل ملفات Windows Bitmap (BMP) إلى PDF. BMP صيغة صور غير مضغوطة لا تزال موجودة في الأنظمة القديمة والتصوير الطبي والماسحات الضوئية الصناعية. تحوّلها هذه الأداة إلى PDF دون الحاجة إلى تثبيت أي شيء.
## الصيغ المدعومة
| الصيغة | الامتدادات |
| :----- | :--------- |
| BMP | `.bmp` |
## طريقة العمل
1. انقر على منطقة الرفع أو اسحب ملفات BMP وأفلتها.
2. راجع قائمة الملفات. أضف المزيد من الملفات أو أزل غير المرغوب فيها.
3. انقر على **تحويل إلى PDF**. يتم تنزيل الناتج باسم `from_bmps.pdf`.
يُرسم كل ملف BMP على canvas، ثم يُصدَّر بصيغة PNG، ثم يُضمَّن في PDF باستخدام pdf-lib. يطابق حجم الصفحة أبعاد الصورة الأصلية.
## الخيارات
لا تعرض هذه الأداة إعدادات جودة إضافية. تُضمَّن الصور بدقتها الأصلية بصيغة PNG دون فقدان داخل PDF.
## حالات الاستخدام
- تحويل المستندات الممسوحة القديمة المخزنة بصيغة BMP إلى ملفات PDF للأرشفة
- تحويل لقطات شاشة BMP من تطبيقات Windows القديمة إلى مستندات قابلة للمشاركة
- معالجة مخرجات الماسحات الطبية أو الصناعية التي تعتمد BMP افتراضيًا
- نقل أرشيفات الصور القديمة إلى صيغة أكثر قابلية للنقل
## نصائح
- ملفات BMP غير مضغوطة، لذا تميل إلى أن تكون كبيرة. سيكون ملف PDF الناتج أصغر بكثير لأن الصور تُعاد ترميزها داخليًا بصيغة PNG.
- إذا كانت لديك ملفات BMP إلى جانب صيغ صور أخرى، فاستخدم أداة [صور إلى PDF](./image-to-pdf) لتحويل كل شيء في دفعة واحدة.
## أدوات ذات صلة
- [صور إلى PDF](./image-to-pdf)
- [PNG إلى PDF](./png-to-pdf)
- [TIFF إلى PDF](./tiff-to-pdf)
+57
View File
@@ -0,0 +1,57 @@
---
title: تعديل الإشارات المرجعية
description: أضف إشارات PDF المرجعية وعدّلها واستوردها وصدّرها واحذفها بمحرر مرئي مع دعم CSV/JSON.
---
# تعديل الإشارات المرجعية
يمنحك محرر الإشارات المرجعية تحكمًا كاملًا في إشارات التنقل في PDF (وتسمى أيضًا المخططات التفصيلية). يمكنك إضافة إشارات جديدة وتعديل الموجودة وإعادة ترتيب التسلسل الهرمي واستيراد بيانات الإشارات وتصديرها بصيغتي CSV وJSON.
## طريقة العمل
1. ارفع ملف PDF بالنقر على منطقة الإسقاط أو بسحب الملف إليها.
2. يمكنك اختيار **استخراج الإشارات المرجعية الموجودة تلقائيًا** لجلب شجرة الإشارات الحالية للمستند.
3. يفتح المحرر بعرض مقسوم: عارض PDF على اليسار ولوحة الإشارات على اليمين.
4. اكتب عنوان الإشارة ثم انقر **إضافة إلى الصفحة** لإنشاء إشارة جديدة تشير إلى الصفحة الحالية.
5. استخدم أزرار شريط الأدوات لإعادة الترتيب أو التنسيق أو الحذف.
6. انقر **حفظ PDF مع الإشارات المرجعية** لتنزيل الملف المحدّث.
## الميزات
- عارض PDF مرئي مع التنقل بين الصفحات وأدوات التكبير وحقل الانتقال إلى صفحة
- إضافة إشارات إلى أي صفحة بنقرة واحدة
- النقر مباشرة على PDF لتحديد وجهة دقيقة للإشارة (وضع الالتقاط)
- تسلسل هرمي متداخل للإشارات مع إعادة الترتيب بالسحب والإفلات
- عمليات دفعية: حدّد عدة إشارات لتغيير اللون أو النمط أو الحذف دفعة واحدة
- بحث في الإشارات للعثور بسرعة على العناصر في الأشجار الكبيرة
- دعم التراجع والإعادة لجميع التغييرات
- استيراد الإشارات من ملفات CSV (العنوان، الصفحة، المستوى) أو JSON
- تصدير الإشارات إلى CSV أو JSON للتعديل خارجيًا
- تنسيق الإشارات: اللون (أحمر، أزرق، أخضر، أصفر، بنفسجي) ونمط الخط (عريض، مائل، عريض مائل)
- تنقل سريع: تصفح الصفحات بمفتاحي Page Up وPage Down
## الخيارات
- **استخراج الإشارات المرجعية الموجودة تلقائيًا**: عند تفعيله، تقرأ الأداة إشارات PDF الحالية وتعرضها عند التحميل.
- **الوضع الدفعي**: فعّله لتحديد عدة إشارات وتطبيق تغيير اللون أو النمط أو الحذف عليها دفعة واحدة.
- **توسيع/طي الكل**: إظهار أو إخفاء الإشارات الفرعية المتداخلة بسرعة.
## حالات الاستخدام
- إضافة جدول محتويات إلى كتاب مدرسي أو دليل لا يحتوي على إشارات
- إعادة هيكلة الإشارات في مستند ممسوح ضوئيًا بعد المعالجة بالتعرف الضوئي
- تصدير الإشارات إلى CSV وتعديلها في جدول بيانات ثم إعادة استيرادها
- تنظيف الإشارات المولّدة تلقائيًا التي تحتوي على مراجع صفحات خاطئة
- إضافة إشارات ملونة لتمييز الأقسام المهمة في مذكرة قانونية
## نصائح
- استخدم استيراد CSV لإنشاء إشارات كثيرة دفعة واحدة. الصيغة بسيطة: `title,page,level` حيث المستوى 1 هو المستوى الأعلى.
- يتيح لك وضع الالتقاط النقر على موضع محدد في صفحة PDF لتعيين وجهة الإشارة، وهو أدق من استهداف رقم الصفحة فقط.
- صدّر إشاراتك قبل إجراء تغييرات كبيرة لتحتفظ بنسخة احتياطية.
## أدوات ذات صلة
- [جدول المحتويات](./table-of-contents)
- [محرر PDF](./edit-pdf)
- [إضافة تسميات الصفحات](./add-page-labels)
+47
View File
@@ -0,0 +1,47 @@
---
title: CBZ إلى PDF
description: حوّل أرشيفات الكتب المصورة CBZ وCBR إلى PDF في متصفحك. مجاني وخاص وبدون رفع ملفات.
---
# CBZ إلى PDF
حوّل ملفات أرشيف الكتب المصورة إلى ملفات PDF. CBZ وCBR هما الصيغتان القياسيتان للقصص المصورة الرقمية، وهما في الحقيقة أرشيفات ZIP أو RAR مليئة بالصور. تستخرج هذه الأداة كل صفحة وتحافظ على ترتيب القراءة وتنتج ملف PDF نظيفًا تصبح فيه كل صورة صفحة كاملة الحجم.
## الصيغ المدعومة
| الصيغة | الامتداد | ملاحظات |
| :----- | :------- | :---------------------------------------------------------- |
| CBZ | `.cbz` | أرشيف كتب مصورة قائم على ZIP (يُعالج محليًا بواسطة pdf-lib) |
| CBR | `.cbr` | أرشيف كتب مصورة قائم على RAR (يُعالج عبر محرك PyMuPDF) |
يتعرف محوّل CBZ على صور JPEG وPNG وGIF وBMP وWebP وAVIF وTIFF وHEIC وJXL داخل الأرشيف. تُحوَّل الصيغ غير القياسية تلقائيًا إلى PNG قبل التضمين.
## طريقة العمل
1. انقر منطقة الرفع أو اسحب ملفات CBZ أو CBR وأفلتها. يمكنك خلط الصيغتين في دفعة واحدة.
2. راجع الملفات المدرجة. أزل ما لا تحتاجه، أو انقر **إضافة المزيد من الملفات** لإضافة ملفات أخرى.
3. انقر **تحويل إلى PDF**. بالنسبة لملفات CBZ، تفك الأداة ضغط الأرشيف وترتب ملفات الصور بالاسم بترتيب طبيعي وتكتشف الصيغة الفعلية لكل صورة وتضمّنها في PDF باستخدام pdf-lib. أما ملفات CBR فتُمرَّر عبر محرك PyMuPDF بدلًا من ذلك.
4. يُنزَّل الملف الواحد بصيغة PDF. وتنتج الملفات المتعددة أرشيف ZIP باسم `comic-converted.zip`.
## الخيارات
لا حاجة لأي إعداد. تصبح كل صورة صفحة بحجم أبعادها الأصلية، فتبقى الصفحات المزدوجة عريضة والصفحات المفردة ضيقة.
## حالات الاستخدام
- قراءة القصص المصورة على تطبيق لجهاز لوحي أو هاتف يدعم PDF ولا يدعم CBZ/CBR
- طباعة صفحات محددة من قصة مصورة رقمية
- أرشفة مجموعة قصص مصورة بصيغة يستطيع أي عارض ملفات فتحها
- مشاركة قصة مصورة مع شخص لا يملك قارئ قصص مخصصًا
## نصائح
- تُرتَّب الصور داخل الأرشيف بالترتيب الطبيعي (فيأتي `page2.jpg` قبل `page10.jpg`). سمِّ ملفاتك بترقيم متسق للحصول على تسلسل صفحات صحيح.
- يكتشف المحوّل صيغ الصور من توقيعاتها الثنائية لا من امتدادات الملفات. وسيُضمَّن ملف PNG سُمّي خطأً `.jpg` بشكل صحيح.
- تُعالج ملفات CBZ بالكامل داخل المتصفح دون تحميل محرك PyMuPDF، لذا تُحوَّل أسرع من ملفات CBR.
## أدوات ذات صلة
- [EPUB إلى PDF](./epub-to-pdf)
- [MOBI إلى PDF](./mobi-to-pdf)
- [صور إلى PDF](./image-to-pdf)
+61
View File
@@ -0,0 +1,61 @@
---
title: تغيير الأذونات
description: اضبط أو عدّل أذونات استخدام PDF للطباعة والنسخ والتحرير والتعليق. يستخدم تشفير AES بطول 256 بت.
---
# تغيير الأذونات
تحكم بدقة فيما يستطيع المستلمون فعله بملف PDF الخاص بك. فعلى عكس التشفير الأساسي الذي يكتفي بقفل الملف بكلمة مرور، تتيح لك هذه الأداة السماح أو المنع انتقائيًا للطباعة والنسخ والتحرير والتعليق وتعبئة النماذج وتجميع المستند واستخراج الصفحات، وكل ذلك يُفرض عبر تشفير AES بطول 256 بت.
## طريقة العمل
1. ارفع ملف PDF.
2. إذا كان PDF مشفرًا بالفعل، أدخل **كلمة المرور الحالية**.
3. عيّن **كلمة مرور مستخدم جديدة** (مطلوبة للفتح) و/أو **كلمة مرور مالك جديدة** (تتحكم بالأذونات).
4. فعّل الأذونات أو عطّلها كلًا على حدة باستخدام مربعات الاختيار.
5. انقر **تغيير الأذونات**.
6. نزّل ملف PDF المحدّث.
إذا تركت حقلي كلمة المرور الجديدتين فارغين، تفك الأداة تشفير PDF بالكامل وتزيل كل التشفير والقيود.
## عناصر التحكم بالأذونات
| الإذن | ما الذي يتحكم به |
| --------------------------- | ----------------------------------------- |
| **السماح بالطباعة** | هل يمكن طباعة المستند |
| **السماح بالنسخ** | هل يمكن تحديد النصوص والصور ونسخها |
| **السماح بالتعديل** | هل يمكن تحرير محتوى المستند |
| **السماح بالتعليق** | هل يمكن إضافة تعليقات وتمييز وأختام |
| **السماح بتعبئة النماذج** | هل يمكن إكمال حقول النموذج التفاعلية |
| **السماح بتجميع المستند** | هل يمكن إدراج الصفحات أو حذفها أو تدويرها |
| **السماح باستخراج الصفحات** | هل يمكن استخراج صفحات فردية |
تتطلب جميع الأذونات كلمة مرور مالك لتُفرض. وبدون كلمة مرور المالك، تتجاهل معظم قارئات PDF علامات الأذونات.
## كيف تعمل الأذونات في PDF
الأذونات في PDF جزء من مواصفة التشفير. وتُخزَّن كعلامات بتّية في قاموس التشفير وتفرضها قارئات PDF المتوافقة. الفرق الأساسي:
- **كلمة مرور المستخدم**: مطلوبة لفتح الملف أصلًا.
- **كلمة مرور المالك**: مطلوبة لتغيير الأذونات أو إزالة القيود. وبدونها، تتحكم علامات الأذونات بالعمليات التي يستطيع المستخدم تنفيذها.
إذا عيّنت كلمة مرور مالك فقط (دون كلمة مرور مستخدم)، يستطيع أي شخص فتح الملف لكنه مقيّد بالعمليات المسموحة. وإذا عيّنت الاثنتين، يتطلب الملف كلمة مرور لفتحه ويصبح مقيّدًا بعد المصادقة.
## حالات الاستخدام
- توزيع تقرير يمكن عرضه وطباعته دون تحريره أو نسخه
- مشاركة قالب عقد يستطيع المستلمون تعبئته دون تعديله
- نشر كتالوج PDF مع تعطيل نسخ الصور
- السماح بالتعليق على مسودة مراجعة مع منع التغييرات الهيكلية
## نصائح
- لتكون الأذونات فعّالة، عيّن دائمًا كلمة مرور مالك. فالأذونات بدون كلمة مرور مالك لا يمكن فرضها.
- بعض أدوات PDF الخارجية تتجاهل علامات الأذونات. لحماية أقوى، فكّر في تحويل PDF إلى صور أو استخدام إدارة الحقوق الرقمية (DRM).
- استخدم هذه الأداة لترقية ملفات PDF القديمة المشفرة بـ RC4 إلى AES-256.
## أدوات ذات صلة
- [حماية PDF](./protect-pdf): حماية بسيطة بكلمة مرور دون أذونات دقيقة
- [إلغاء قفل PDF](./unlock-pdf): إزالة التشفير بالكامل
- [إزالة القيود](./remove-restrictions): أزل جميع القيود عندما تملك كلمة مرور المالك
+55
View File
@@ -0,0 +1,55 @@
---
title: دمج في صفحة واحدة
description: اجمع جميع صفحات PDF في صفحة واحدة متصلة بتمرير عمودي أو أفقي.
---
# دمج في صفحة واحدة
ادمج كل صفحات PDF في صفحة واحدة طويلة. تُجمَّع الصفحات عموديًا (مثل لفافة) أو أفقيًا (جنبًا إلى جنب) لتنتج صفحة واحدة متصلة في الملف الناتج.
## طريقة العمل
1. ارفع ملف PDF.
2. اختر اتجاه التخطيط: **عمودي** (الصفحات مرصوصة من الأعلى إلى الأسفل) أو **أفقي** (الصفحات جنبًا إلى جنب).
3. حدّد المسافة بين الصفحات بالنقاط.
4. اختر لون خلفية للفراغات بين الصفحات.
5. يمكنك تفعيل الفواصل (خطوط رفيعة بين الصفحات) وضبط سماكتها ولونها.
6. انقر زر المعالجة. الناتج ملف PDF من صفحة واحدة.
## الميزات
- تجميع الصفحات عموديًا أو أفقيًا
- مسافة قابلة للضبط بين الصفحات
- منتقي لون الخلفية لمناطق الفراغ
- خطوط فاصلة اختيارية بسماكة ولون قابلين للتعديل
- يعرض كل صفحة أصلية بدقتها الكاملة على اللوحة المدمجة
## الخيارات
| الخيار | الوصف |
| ----------------------- | ------------------------------------- |
| **الاتجاه** | عمودي (مرصوص) أو أفقي (جنبًا إلى جنب) |
| **المسافة بين الصفحات** | الفراغ بين الصفحات بالنقاط |
| **لون الخلفية** | لون المنطقة بين الصفحات |
| **إضافة فاصل** | تفعيل خطوط رفيعة بين الصفحات |
| **سماكة الفاصل** | سماكة الخط بالنقاط |
| **لون الفاصل** | لون الخطوط الفاصلة |
## حالات الاستخدام
- إنشاء صورة واحدة طويلة من هيكل أو تصميم تجريبي متعدد الصفحات
- توليد عرض متصل قابل للتمرير لمستند من أجل تضمينه في الويب
- ربط قصة مصورة أو لوحة قصصية متعددة الصفحات في شريط واحد
- إنتاج عرض بانورامي لصفحات متتابعة للمراجعة
## نصائح
- يناسب الاتجاه العمودي المستندات ذات الصفحات الطولية. أما الأفقي فأفضل للمحتوى ذي الاتجاه العرضي.
- ستنتج المستندات الكبيرة ذات الصفحات الكثيرة ملفًا طويلًا أو عريضًا جدًا. وقد تعجز بعض عارضات PDF عن التعامل مع صفحات مفردة كبيرة للغاية.
- إضافة فواصل بلون متباين تسهّل رؤية أين تنتهي صفحة أصلية وتبدأ التي تليها.
## أدوات ذات صلة
- [N-Up PDF](./n-up-pdf)
- [دمج PDF](./merge-pdf)
- [تقسيم الصفحات](./divide-pages)
+60
View File
@@ -0,0 +1,60 @@
---
title: مقارنة ملفات PDF
description: قارن مستندي PDF جنبًا إلى جنب أو بوضع التراكب مع كشف مفصل للتغييرات وتصنيفها.
---
# مقارنة ملفات PDF
ارفع ملفي PDF وشاهد بالضبط ما تغيّر بينهما. تقرن الأداة الصفحات بذكاء وتكشف الاختلافات في النصوص والصور والتعليقات التوضيحية والرؤوس والتنسيق وتعرضها بعرض جنبًا إلى جنب أو بالتراكب.
## طريقة العمل
1. ارفع ملفي PDF: الأصلي (يسارًا) والنسخة المعدّلة (يمينًا).
2. تقرن الأداة الصفحات بين المستندين باستخدام بصمات المحتوى.
3. اختر وضع العرض: **جنبًا إلى جنب** أو **تراكب**.
4. تنقّل بين أزواج الصفحات باستخدام عناصر التحكم بالترقيم.
5. تُميَّز الاختلافات وتُصنَّف. استخدم لوحة التصفية للتركيز على أنواع تغيير محددة.
6. يمكنك تصدير المقارنة كتقرير PDF.
## الميزات
- اقتران تلقائي للصفحات بناءً على تشابه المحتوى
- عرضا مقارنة: جنبًا إلى جنب وتراكب
- تصنيف التغييرات: نص، صورة، رأس/تذييل، تعليق توضيحي، تنسيق، خلفية
- مفاتيح تصفية لكل فئة لإظهار أنواع تغيير محددة أو إخفائها
- بحث في تغييرات النص مع تصفية بالاستعلام
- دعم التعرف الضوئي لمقارنة المستندات الممسوحة ضوئيًا
- أدوات تكبير للفحص التفصيلي
- تمرير متزامن بين اللوحتين في وضع جنبًا إلى جنب
- تصدير نتائج المقارنة بصيغة PDF
## الخيارات
| الخيار | الوصف |
| --------------------- | ------------------------------------------------------------------------------------- |
| **وضع العرض** | جنبًا إلى جنب أو تراكب |
| **التعرف الضوئي** | تفعيل/تعطيل التعرف الضوئي لمقارنة المستندات الممسوحة ضوئيًا |
| **لغة التعرف الضوئي** | لغة استخراج النص بالتعرف الضوئي |
| **مرشحات الفئات** | تبديل ظهور تغييرات النص والصورة والرأس/التذييل والتعليقات التوضيحية والتنسيق والخلفية |
| **نطاق التغيير** | في وضع التراكب، التصفية بين كل التغييرات أو المحتوى فقط |
| **التكبير** | ضبط مستوى التكبير للفحص التفصيلي |
## حالات الاستخدام
- مراجعة تعديلات العقود لمعرفة ما تغيّر بالضبط بين النسخ
- مقارنة التصاميم التجريبية للتحقق من أن تصديرات PDF تطابق المتوقع
- تدقيق تغييرات المستندات في القطاعات الخاضعة للتنظيم حيث يجب تتبع كل تعديل
- التحقق من أن عملية تحويل PDF حافظت على المحتوى الأصلي بدقة
- فحص مستندات الترجمة مقابل الأصل بحثًا عن تغييرات في التخطيط
## نصائح
- يضع عرض التراكب المستندين فوق بعضهما، فتظهر الفروق المكانية (العناصر المزاحة والصور المعاد تحجيمها) فورًا.
- فعّل التعرف الضوئي عند مقارنة مستندات ممسوحة ضوئيًا لا تحتوي على طبقة نصية. سيستخرج محرك المقارنة النص من صور الصفحات.
- استخدم مرشحات الفئات للتركيز على المهم. على سبيل المثال، أخفِ تغييرات التنسيق عندما تهتم باختلافات محتوى النص فقط.
## أدوات ذات صلة
- [عرض البيانات الوصفية](./view-metadata)
- [التعرف الضوئي على PDF](./ocr-pdf)
- [دمج PDF](./merge-pdf)
+73
View File
@@ -0,0 +1,73 @@
---
title: ضغط PDF
description: قلّل حجم ملف PDF حتى 90% بمحرك Hyper Compress. يدعم أحجام الملفات المستهدفة والمعالجة الدفعية وإعدادات الجودة المخصصة.
---
# ضغط PDF
قلّل حجم ملفات PDF دون إتلافها. يعمل ضغط PDF بواسطة [Hyper Compress](https://www.bentopdf.com/hyper-compress)، محرك الضغط الخاص بـ BentoPDF. فهو يعيد ضغط الصور ويستخلص مجموعات جزئية من الخطوط ويدمجها ويزيل الحمولة الزائدة مثل الصور المصغرة المضمنة وبيانات التطبيقات الخاصة. يبقى PDF وظيفيًا بالكامل: النص قابل للتحديد والروابط وحقول النماذج تعمل.
يُترجم Hyper Compress إلى WebAssembly ويأتي مع BentoPDF، لذا يعمل الضغط دون اتصال وفي البيئات المعزولة عن الشبكة دون أي إعداد إضافي.
## طريقة العمل
1. ارفع ملف PDF واحدًا أو أكثر بالنقر على منطقة الإسقاط أو بسحب الملفات إليها.
2. اختر **مستوى الضغط**: منخفض أو متوسط أو عالٍ أو بلا فقدان.
3. يمكنك إدخال **حجم الملف المستهدف**، أو توسيع **الإعدادات المخصصة** لتحكم أدق، بما في ذلك **التحويل إلى تدرج الرمادي**.
4. انقر **ضغط PDF**. وعند رفع عدة ملفات، تحصل على تنزيل ZIP واحد.
## المستندات الخاصة
- **ملفات PDF الموقعة رقميًا** تُعاد دون تغيير، لأن أي تعديل سيُبطل التوقيع. فعّل **تجاوز حماية المحتوى** ضمن الإعدادات المخصصة لإزالة التوقيعات وضغط الملف؛ يبقى التوقيع المرئي على الصفحة لكن الملف لم يعد موقّعًا.
- **ملفات PDF/A** تفقد تسمية PDF/A بعد الضغط، حتى لا يدّعي الملف مطابقة لم يعد يستوفيها. فعّل **الحفاظ على PDF/A** ضمن الإعدادات المخصصة للإبقاء على مطابقة الملف بدلًا من ذلك.
- **ملفات PDF المحمية بكلمة مرور** يظهر على بطاقة ملفها حقل كلمة مرور. أدخل كلمة المرور هناك ويفتح Hyper Compress الملف بنفسه، دون خطوة فك قفل منفصلة. عند وجود ملفين مقفلين أو أكثر، يفك حقل مشترك واحد قفل كل الملفات التي تستخدم كلمة المرور نفسها. النسخة المضغوطة بلا كلمة مرور؛ استخدم [حماية PDF](./protect-pdf) لإضافتها مجددًا.
- **الممسوحات الضوئية بلا طبقة نصية** يمكن تقليص حجمها أكثر بخيار **تحويل الصفحات إلى صور** ضمن الإعدادات المخصصة، الذي يستبدل كل صفحة بصورة واحدة محسّنة. يُتخطى هذا الخيار لأي مستند فيه نص قابل للتحديد، بما في ذلك الممسوحات ضوئيًا التي خضعت للتعرف الضوئي، ما لم يكن **تجاوز حماية المحتوى** مفعّلًا. عندها تتحول صفحات النص إلى صور أيضًا، فيتوقف النص عن كونه قابلًا للتحديد وتتوقف الروابط عن العمل.
## مستويات الضغط
| المستوى | جودة الصورة | أقصى دقة | الأنسب لـ |
| ------------- | ------------ | --------- | ---------------------------- |
| **منخفض** | 80 | 200 DPI | الحفاظ على الجودة البصرية |
| **متوسط** | 50 | 150 DPI | المستندات اليومية |
| **عالٍ** | 20 | 72 DPI | مرفقات البريد وتحميلات الويب |
| **بلا فقدان** | صور دون مساس | دون تغيير | نسخ الأرشفة |
يزيل المستوى العالي أيضًا تضمين الخطوط القياسية الـ 14 في PDF، إضافة إلى الخطوط المشابهة لها مثل Arial عندما يكون ذلك آمنًا.
## حجم الملف المستهدف
أدخل حجمًا بالكيلوبايت أو الميغابايت ويبحث Hyper Compress عن أفضل جودة صور تظل ضمن هذا الحجم، بدءًا من المستوى الذي اخترته. إذا تعذّر تصغير المستند إلى ذلك الحجم، تحصل على أصغر نسخة يمكنه إنتاجها مع رسالة بذلك. أما الصفحات المخصصة مثل [ضغط PDF إلى 1 ميغابايت](https://www.bentopdf.com/compress-pdf-to-1mb) فتفتح والهدف مملوء مسبقًا.
## الإعدادات المخصصة
وسّع لوحة الإعدادات المخصصة لضبط Hyper Compress مباشرة. اختيار مستوى ضغط يعيد هذه الإعدادات إلى قيم ذلك المستوى، وتعديل أي منها ينقل المستوى إلى مخصص.
- **تجاوز حماية المحتوى**: افتراضيًا يترك Hyper Compress ملفات PDF الموقعة دون مساس ولا يحوّل الصفحات التي تحتوي نصًا إلى صور. تفعيل هذا الخيار يتجاوز الأمرين. ويبقى مفعّلًا عند تغيير المستوى.
- **الصور**: جودة الصورة وأقصى دقة وإعادة التشكيل القسرية وتقليل الألوان وقص مناطق الصور غير المرئية وإزالة الصور البديلة وتبسيط ملفات الألوان وJPEG 2000 والوضع بلا فقدان
- **الخطوط**: استخلاص المجموعات الجزئية ودمج المكرر وإلغاء تضمين الخطوط القياسية وما يشبهها
- **المحتوى**: تسطيح التعليقات التوضيحية أو حقول النماذج أو الروابط
- **التنظيف**: إزالة الصور المصغرة وبيانات التطبيقات وخيوط المقالات ومعلومات التقاط الويب وشجرة البنية ونوايا الإخراج
- **التحويل إلى صور**: استبدال الصفحات بصور، للممسوحات ضوئيًا المكونة من صور فقط؛ يُتخطى عندما يحتوي المستند نصًا قابلًا للتحديد
- **الإخراج**: الحفاظ على PDF/A، وضغط Brotli لقارئات PDF 2.0 التي تدعمه
## حالات الاستخدام
- خفض تقرير بحجم 50 ميغابايت إلى ما دون حد مرفقات البريد
- إنزال ملف ممسوح ضوئيًا تحت حد الرفع الصارم لبوابة ما باستخدام حجم ملف مستهدف
- تحسين ملفات PDF التسويقية لتنزيل أسرع من المواقع
- أرشفة مجموعات مستندات كبيرة حيث تهم تكاليف التخزين
- تقليل استهلاك بيانات الجوال عند مشاركة ملفات PDF عبر تطبيقات المراسلة
## نصائح
- ابدأ بالمستوى المتوسط. وإذا بقيت النتيجة كبيرة، حدّد حجم ملف مستهدفًا أو انتقل إلى العالي.
- للممسوحات الضوئية بلا طبقة نصية، فعّل تحويل الصفحات إلى صور ضمن الإعدادات المخصصة.
- يمكن للتحويل إلى تدرج الرمادي، ضمن الإعدادات المخصصة، أن يخفض حجم المستندات الغنية بالألوان.
## أدوات ذات صلة
- [تحسين PDF للويب](./linearize-pdf): حسّن PDF المضغوط لعرض سريع على الويب
- [تحويل PDF إلى صور](./rasterize-pdf): حوّل الصفحات إلى صور بدقة DPI محددة، بما فيها الصفحات التي تحتوي نصًا
- [إصلاح PDF](./repair-pdf): أصلح ملف PDF تعطل أثناء الضغط في مكان آخر
- [إزالة البيانات الوصفية](./remove-metadata): أزل البيانات المخفية للخصوصية
+44
View File
@@ -0,0 +1,44 @@
---
title: قص PDF
description: اقصص صفحات PDF بصريًا برسم منطقة القص على كل صفحة بمحرر مدعوم بـ Cropper.js.
---
# قص PDF
قلّم هوامش صفحات PDF باستخدام واجهة قص مرئية. ارسم مستطيل القص مباشرة على كل صفحة، وعاين النتيجة ثم طبّق القص. يمكنك تعيين مناطق قص مختلفة لصفحات مختلفة أو تطبيق القص نفسه على المستند كاملًا.
## طريقة العمل
1. ارفع ملف PDF.
2. يفتح محرر القص ويعرض الصفحة الأولى مع طبقة قص قابلة للسحب.
3. اضبط مستطيل القص بسحب حوافه أو زواياه.
4. استخدم أزرار التنقل بين الصفحات للانتقال بينها وتعيين مناطق القص لكل منها.
5. انقر **قص** لتطبيق القص وتنزيل النتيجة.
## الميزات
- محرر قص مرئي مدعوم بـ Cropper.js مع مقابض للضبط الدقيق
- تنقل صفحة بصفحة لتعيين مناطق قص فردية
- يخزّن إعدادات القص لكل صفحة لتتمكن من تحديد قصات مختلفة لصفحات مختلفة
- معاينة مباشرة لمنطقة القص المحددة
- يدعم ملفات PDF بأي حجم صفحة أو اتجاه
## حالات الاستخدام
- إزالة الهوامش العريضة من المستندات الممسوحة ضوئيًا للتركيز على منطقة المحتوى
- تقليم علامات القص أو التسجيل الخاصة بالطابعة من ملفات PDF قبل الطباعة
- قص شرائح المحاضرات لإزالة منطقة ملاحظات المقدّم
- إزالة الرؤوس أو التذييلات من كل صفحة قبل مشاركة مقتطف من مستند
- تغيير حجم الصفحات لتناسب شاشة أو تخطيط طباعة محددًا
## نصائح
- يمكن تغيير حجم طبقة القص وإعادة تموضعها بحرية. اسحب الزوايا لتغيير الحجم بتناسب أو الحواف لضبط محور واحد.
- في المستندات التي تحتاج كل صفحاتها إلى القص نفسه، عيّنه على الصفحة الأولى، فالأداة تتذكر منطقة القص أثناء تنقلك بين الصفحات.
- إذا كنت تريد توحيد أحجام الصفحات بدل القص البصري، فقد تكون أداة توحيد حجم الصفحة أنسب.
## أدوات ذات صلة
- [محرر PDF](./edit-pdf)
- [أرقام الصفحات](./page-numbers)
- [إزالة الصفحات الفارغة](./remove-blank-pages)
+51
View File
@@ -0,0 +1,51 @@
---
title: CSV إلى PDF
description: حوّل ملفات جداول CSV إلى جداول PDF منسقة مباشرة في متصفحك.
---
# CSV إلى PDF
حوّل ملفات CSV إلى مستندات PDF نظيفة ومنسقة. يُحلَّل كل ملف CSV ويُعرض كجدول في ملف PDF الناتج. هذا مفيد عندما تريد طباعة بيانات جدولية أو مشاركتها دون أن يحتاج المستلم إلى برنامج جداول بيانات.
## الصيغ المدعومة
| الصيغة | الامتدادات |
| :----- | :--------- |
| CSV | `.csv` |
## طريقة العمل
1. انقر منطقة الرفع أو اسحب ملف CSV واحدًا أو أكثر وأفلته.
2. راجع قائمة الملفات. أضف المزيد أو أزل ما لا تريده.
3. انقر **تحويل إلى PDF**. يعرض مؤشر التقدم حالة التحويل.
4. يُنزَّل الملف الواحد مباشرة بصيغة PDF. وتُجمَّع الملفات المتعددة في `csv-converted.zip`.
## الخيارات
لا تحتاج هذه الأداة إلى أي إعداد إضافي. يُحلَّل ملف CSV وينسَّق كجدول تلقائيًا.
## الناتج
| عدد المدخلات | الناتج |
| :------------ | :---------------------------------------------------- |
| ملف واحد | تنزيل ملف PDF واحد (مثل `data.pdf`) |
| ملفان أو أكثر | أرشيف ZIP (`csv-converted.zip`) يحتوي ملف PDF لكل ملف |
## حالات الاستخدام
- تحويل تقارير قواعد البيانات المصدّرة إلى جداول PDF قابلة للطباعة
- مشاركة البيانات المالية أو قوائم المخزون مع من لا يملكون Excel
- إنشاء نسخ PDF من ملفات سجلات CSV لتوثيق الامتثال
- طباعة قوائم العناوين أو كشوف الدرجات أو أي بيانات جدولية مخزنة بصيغة CSV
## نصائح
- للحصول على أفضل النتائج، تأكد أن ملف CSV يستخدم فواصل الفاصلة القياسية. تتبع الأداة أعراف تحليل CSV الشائعة.
- إذا كان ملف CSV يحتوي أعمدة كثيرة، فقد يُضغط الجدول ليناسب عرض الصفحة. فكّر في تقسيم مجموعات البيانات العريضة إلى عدة ملفات.
- لملفات Excel (`.xls`، `.xlsx`)، استخدم أداة [Excel إلى PDF](./excel-to-pdf) التي تحافظ على تنسيق الجداول وتعدد الأوراق.
## أدوات ذات صلة
- [Excel إلى PDF](./excel-to-pdf)
- [نص إلى PDF](./txt-to-pdf)
- [JSON إلى PDF](./json-to-pdf)
+42
View File
@@ -0,0 +1,42 @@
---
title: حذف الصفحات
description: أزل صفحات محددة من PDF برقم الصفحة أو النطاق أو التحديد المرئي عبر الصور المصغرة.
---
# حذف الصفحات
أزل الصفحات غير المرغوبة من مستند PDF. حدّد الصفحات المراد حذفها بكتابة أرقام الصفحات أو النطاقات، أو انقر مباشرة على الصور المصغرة للصفحات لتعليمها للإزالة.
## طريقة العمل
1. ارفع ملف PDF. تعرض الأداة معاينات مصغرة لكل صفحة.
2. أدخل الصفحات المراد حذفها في حقل النص بصيغة النطاقات (مثل `2, 5-8`)، أو انقر الصور المصغرة لتبديل تحديدها.
3. تُميَّز الصفحات المعلَّمة بصريًا لتتأكد من اختيارك.
4. انقر زر المعالجة. يُنشأ ملف PDF جديد بعد إزالة الصفحات المحددة.
## الميزات
- تحديد الصفحات بالنص بصيغة النطاقات (`2, 5-8, 12`)
- شبكة صور مصغرة مرئية للحذف بالنقر
- تمييز فوري في المعاينة للصفحات المعلَّمة للحذف
- التحقق من المدخلات مقابل عدد الصفحات الفعلي
- يُبقي جميع الصفحات غير المحذوفة بترتيبها الأصلي
## حالات الاستخدام
- إزالة الصفحات الفارغة أو الحشو من مستند ممسوح ضوئيًا
- حذف صفحات الغلاف أو الملاحق قبل مشاركة المستند
- تنظيف صفحات المسودات التي بقيت عن طريق الخطأ في PDF نهائي
- إزالة الصفحات التي تحتوي معلومات حساسة قبل التوزيع
## نصائح
- حذف الصفحات لا يؤثر على محتوى الصفحات المتبقية أو تنسيقها. الناتج نسخة مطابقة للأصل بعد طرح الصفحات المحذوفة.
- إذا كنت تريد الاحتفاظ بصفحات محددة بدل إزالة صفحات محددة، فإن [استخراج الصفحات](./extract-pages) أنسب.
- يُحمَّل عرض الصور المصغرة تدريجيًا، لذا تبقى المستندات الكبيرة سريعة الاستجابة.
## أدوات ذات صلة
- [استخراج الصفحات](./extract-pages)
- [تكرار وتنظيم](./organize-pdf)
- [تقسيم PDF](./split-pdf)
+46
View File
@@ -0,0 +1,46 @@
---
title: تصحيح انحراف PDF
description: عدّل الصفحات المائلة تلقائيًا في ملفات PDF الممسوحة ضوئيًا باستخدام كشف الانحراف في OpenCV. مع حد ودقة DPI قابلين للضبط.
---
# تصحيح انحراف PDF
نادرًا ما تكون المستندات الممسوحة ضوئيًا مستقيمة تمامًا. حتى الميل الطفيف يقلل دقة التعرف الضوئي ويجعل الطباعة تبدو غير مرتبة. تستخدم هذه الأداة خوارزميات معالجة الصور في OpenCV لكشف زاوية انحراف كل صفحة وإعادة تدويرها لتصبح مستوية.
## طريقة العمل
1. ارفع ملف PDF ممسوحًا ضوئيًا واحدًا أو أكثر.
2. اضبط **حد الانحراف**: تُترك دون تغيير الصفحات التي يقل انحرافها المكتشف عن هذه القيمة.
3. اختر **جودة المعالجة (DPI)**: الدقة الأعلى تحسّن دقة الكشف لكنها تستغرق وقتًا أطول.
4. انقر **تصحيح انحراف PDF**.
5. بعد المعالجة، تعرض لوحة النتائج زاوية كل صفحة المكتشفة وهل صُحِّحت.
## الخيارات
| الإعداد | القيم | الافتراضي |
| ---------------- | ----------------------- | --------- |
| **حد الانحراف** | 0.1، 0.5، 1.0، 2.0 درجة | 0.5 |
| **DPI المعالجة** | 100، 150، 200، 300 | 150 |
## كيف يعمل كشف الانحراف
تعرض الأداة كل صفحة كصورة بدقة DPI المحددة، ثم تستخدم OpenCV لكشف زوايا الخطوط المهيمنة في المحتوى. إذا تجاوز الانحراف المكتشف الحد، تُدوَّر الصفحة بالزاوية المعاكسة لتستقيم. وتمر الصفحات الأقل من الحد دون تغيير.
## حالات الاستخدام
- تنظيف العقود أو المستندات القانونية الممسوحة ضوئيًا دفعة واحدة
- تجهيز الإيصالات أو الفواتير الممسوحة للتعرف الضوئي
- تقويم صفحات من ماسح مسطح وُضع فيه الورق بشكل غير متسق
- تحسين الجودة البصرية للمواد الأرشيفية المرقمنة
## نصائح
- اخفض الحد إلى 0.1 درجة إذا احتجت محاذاة دقيقة للتعرف الضوئي.
- 150 DPI سريعة ودقيقة لمعظم المستندات. استخدم 300 DPI للنصوص الصغيرة جدًا أو الصفحات كثيرة التفاصيل.
- يعمل تصحيح الانحراف بأفضل شكل على المستندات ذات الأسطر الأفقية الواضحة. وقد يواجه صعوبة مع الصفحات التي تغلب عليها الصور أو عناصر التصميم المائلة.
## أدوات ذات صلة
- [تحويل PDF إلى صور](./rasterize-pdf): حوّل الناتج المصحّح إلى PDF مسطح قائم على الصور
- [ضغط PDF](./compress-pdf): قلّل حجم الملف بعد التصحيح
- [إصلاح PDF](./repair-pdf): أصلح المشكلات البنيوية في ملفات PDF الممسوحة ضوئيًا
+65
View File
@@ -0,0 +1,65 @@
---
title: توقيع رقمي
description: أضف توقيعات رقمية مشفرة إلى ملفات PDF باستخدام شهادات X.509. يدعم صيغتي PKCS#12 وPEM مع خيارات التوقيع المرئي.
---
# توقيع رقمي
التوقيع الرقمي دليل تشفيري على أن شخصًا محددًا وقّع مستندًا وأن المستند لم يُعدَّل منذ ذلك الحين. وعلى عكس التوقيع المرسوم (وهو مجرد صورة)، يستخدم التوقيع الرقمي شهادات X.509 ومعايير PKCS#7 لتوفير أصالة وسلامة يمكن التحقق منهما.
يطبّق BentoPDF التوقيعات الرقمية بالكامل داخل متصفحك. مفتاحك الخاص لا يغادر جهازك أبدًا.
## طريقة العمل
1. ارفع ملف PDF.
2. ارفع ملف الشهادة (.pfx أو .p12 أو .pem).
3. أدخل كلمة مرور الشهادة لفتحها. تعرض الأداة موضوع الشهادة والجهة المصدرة وفترة الصلاحية.
4. يمكنك ضبط بيانات التوقيع الوصفية (السبب والموقع ومعلومات الاتصال).
5. يمكنك تفعيل **توقيع مرئي** مع تخصيص الموضع والحجم والصورة والنص.
6. انقر **توقيع PDF**.
## صيغ الشهادات المدعومة
| الصيغة | الامتدادات | الوصف |
| ----------- | ---------- | ---------------------------------------------------------------------------------------------- |
| **PKCS#12** | .pfx, .p12 | حزمة معيارية في الصناعة تحتوي المفتاح الخاص وسلسلة الشهادات. الصيغة الأكثر شيوعًا. |
| **PEM** | .pem | صيغة نصية. يجب أن تحتوي الشهادة والمفتاح الخاص معًا في ملف واحد. تدعم المفاتيح الخاصة المشفرة. |
## خيارات التوقيع المرئي
عند التفعيل، تُعرض كتلة توقيع مرئية على صفحة PDF:
- **الموضع**: إحداثيات X/Y والعرض/الارتفاع بالنقاط
- **الصفحة**: الصفحة الأولى أو الأخيرة أو كل الصفحات أو رقم صفحة محدد
- **الصورة**: ارفع صورة PNG أو JPG أو WebP (توقيعك بخط اليد أو ختم شركتك وغيرها)
- **النص**: نص مخصص بلون وحجم خط قابلين للضبط. إذا لم تُقدَّم صورة أو نص، تولّد الأداة نصًا تلقائيًا من الاسم الشائع للشهادة والتاريخ الحالي.
## بيانات التوقيع الوصفية
- **السبب**: لماذا وُقّع المستند (مثل "تمت الموافقة"، "تمت المراجعة")
- **الموقع**: مكان التوقيع (مثل "New York, NY")
- **معلومات الاتصال**: كيفية الوصول إلى الموقّع (مثل البريد الإلكتروني)
## ملاحظة حول الاتصال بالإنترنت
قد يتطلب التوقيع اتصالًا بالإنترنت. تجلب مكتبة التوقيع سلسلة الشهادات من عناوين URL مضمنة في امتداد الوصول إلى معلومات الجهة (AIA) في شهادتك. وإذا تعذّر الوصول إلى تلك الخوادم، سيفشل التوقيع للشهادات التي تتطلب التحقق من السلسلة.
## حالات الاستخدام
- توقيع العقود والعروض والاتفاقيات بتوقيعات رقمية ملزمة قانونًا
- اعتماد المستندات الرسمية في سير العمل الذي يتطلب مصادقة قائمة على PKI
- توقيع فواتير PDF للامتثال التنظيمي (تشترط دول أوروبية كثيرة فواتير إلكترونية موقعة رقميًا)
- إضافة اعتماد مؤسسي إلى الرسومات الهندسية أو مستندات الجودة
## نصائح
- تصلح الشهادات الموقعة ذاتيًا للاختبار لكنها ستعرض تحذيرات في Adobe Reader. استخدم شهادة من جهة إصدار شهادات موثوقة للمستندات الفعلية.
- التوقيع المرئي بصري فقط. أما التوقيع التشفيري فيُضمَّن سواء فُعِّلت الكتلة المرئية أم لا.
- تحقق من ملف PDF الموقّع باستخدام أداة التحقق من التوقيع للتأكد من سلامة التوقيع.
## أدوات ذات صلة
- [التحقق من توقيع PDF](./validate-signature-pdf): تحقق من التوقيعات الرقمية في ملفات PDF الموقعة
- [تسطيح PDF](./flatten-pdf): سطّح النماذج قبل التوقيع لمنع التعديلات
- [حماية PDF](./protect-pdf): أضف حماية بكلمة مرور فوق التوقيع الرقمي
- [إزالة البيانات الوصفية](./remove-metadata): أزل البيانات الوصفية قبل التوقيع
+42
View File
@@ -0,0 +1,42 @@
---
title: تقسيم الصفحات
description: قسّم صفحات PDF أفقيًا أو عموديًا إلى صفحات فرعية أصغر.
---
# تقسيم الصفحات
اقطع صفحات PDF الفردية إلى نصفين بتقسيمها أفقيًا أو عموديًا. هذا مفيد عندما تحتوي صفحة واحدة على محتوى ينبغي فصله إلى صفحات مستقلة، مثل تخطيط بعمودين مُسح ضوئيًا كصفحة عريضة واحدة.
## طريقة العمل
1. ارفع ملف PDF.
2. اختر اتجاه التقسيم: **عمودي** (نصفان أيسر/أيمن) أو **أفقي** (نصفان علوي/سفلي).
3. يمكنك تحديد نطاق صفحات لتقييد الصفحات المراد تقسيمها. اتركه فارغًا لتقسيم كل الصفحات.
4. انقر زر المعالجة لتوليد PDF المقسّم.
## الميزات
- التقسيم العمودي: يقسم كل صفحة إلى نصفين أيسر وأيمن
- التقسيم الأفقي: يقسم كل صفحة إلى نصفين علوي وسفلي
- مرشح نطاق الصفحات لتقسيم صفحات محددة فقط
- الصفحات غير المستهدفة تمر دون تغيير
- يحافظ على جودة المحتوى دون إعادة عرض
## حالات الاستخدام
- فصل الصفحات الممسوحة ضوئيًا بصفحتين في كل ورقة (مثل مسح كتاب تظهر فيه الصفحتان اليسرى واليمنى على ورقة واحدة)
- تقسيم PDF عرضي يحتوي محتوى جنبًا إلى جنب إلى صفحات طولية منفصلة
- تقسيم الإنفوجرافيك أو الملصقات الطويلة إلى قسمين علوي وسفلي منفصلين
- تجهيز المستندات ذات الصيغة العريضة للطباعة على الورق القياسي
## نصائح
- إذا كان توزيع المحتوى في صفحاتك غير متساوٍ، يحدث التقسيم مع ذلك عند المنتصف تمامًا. للتقسيم غير المتماثل، فكّر في استخدام [قص PDF](./crop-pdf) بدلًا من ذلك.
- ادمج هذه الأداة مع [تدوير PDF](./rotate-pdf) إذا كانت صفحاتك تحتاج إلى تدوير قبل التقسيم أو بعده.
## أدوات ذات صلة
- [تقسيم PDF](./split-pdf)
- [قص PDF](./crop-pdf)
- [N-Up PDF](./n-up-pdf)
- [تكبير PDF إلى ملصق](./posterize-pdf)
+55
View File
@@ -0,0 +1,55 @@
---
title: ترتيب المسح على الوجهين
description: أعد ترتيب ملفات PDF الممسوحة على الوجهين التي تحتوي الصفحات الأمامية والخلفية في كتلتين منفصلتين إلى ترتيب صحيح أمامي/خلفي.
---
# ترتيب المسح على الوجهين
صُمّمت هذه الأداة لسير عمل المسح بالتغذية التلقائية (ADF) حيث يحتوي ملف PDF واحد على كتلتين من الصفحات:
- كل الوجوه الأمامية أولًا
- كل الوجوه الخلفية ثانيًا
بدلًا من التقسيم وإعادة التجميع يدويًا، تدمج هذه الأداة الكتلتين بترتيب القراءة الطبيعي: أمامي1، خلفي1، أمامي2، خلفي2، وهكذا.
## طريقة العمل
1. ارفع ملف PDF واحدًا ناتجًا عن مسح رزمة على الوجهين.
2. حدّد نقطة التقسيم حيث تنتهي كتلة الوجوه الأمامية.
3. اختر طريقة التعامل مع كتلة الوجوه الخلفية:
- **عكس كتلة الوجوه الخلفية** (شائع عند قلب الرزمة قبل مسح الوجوه الخلفية)
- **إبقاء كتلة الوجوه الخلفية كما هي**
4. انقر **ترتيب PDF** لتنزيل الناتج المعاد ترتيبه.
## الخيارات
- **كشف التقسيم تلقائيًا (النصف)**: يضبط نقطة التقسيم على `ceil(totalPages / 2)`.
- **تحذير الصفحات الفردية**: يحذّر عندما يكون إجمالي الصفحات فرديًا (وغالبًا يدل على عدم تطابق في المسح).
- **تأكيد الكتل غير المتساوية**: يطلب تأكيدًا عندما يختلف حجم كتلتي الأمام والخلف.
- **التصدير المجمّع**: قسّم الناتج المرتب إلى ملفات PDF منفصلة بناءً على عدد صفحات المستند الأصلي ونزّلها كملف ZIP.
## سلوك الناتج
- **الافتراضي**: ملف PDF ناتج واحد (ملف PDF واحد مدخل، وملف PDF واحد ناتج).
- **الوضع المجمّع**: يُقسَّم الناتج حسب قيمة عدد الصفحات لكل مستند؛ وإذا نتجت عدة أجزاء تُنزَّل كملف ZIP واحد، وإلا يُنزَّل ملف PDF واحد.
إذا كانت أحجام الكتل غير متساوية، تُرتَّب الصفحات المقترنة أولًا، وتُلحَق الصفحات المتبقية غير المقترنة في النهاية.
## حالات الاستخدام الشائعة
- استعادة الترتيب بعد مسح كومة نماذج مطبوعة على الوجهين على مرحلتين.
- إعادة بناء حزم الأمام/الخلف من ماسحات المكاتب التي تُخرج كل الوجوه الأمامية ثم كل الخلفية.
- المعالجة اللاحقة للمسوحات الأرشيفية قبل تقسيمها إلى ملفات لكل مستند.
## نصائح
- ينبغي أن يكون إجمالي عدد الصفحات زوجيًا في معظم دفعات الوجهين.
- إذا بدا الناتج مقلوبًا في الوجوه الخلفية، بدّل بين **عكس كتلة الوجوه الخلفية** و**إبقاء كتلة الوجوه الخلفية كما هي**.
- للأصول المكونة من صفحتين (أمام+خلف)، استخدم التصدير المجمّع مع `2` صفحة لكل مستند.
## أدوات ذات صلة
- [تبديل ومزج الصفحات](./alternate-merge)
- [تقسيم PDF](./split-pdf)
- [دمج PDF](./merge-pdf)
- [تكرار وتنظيم](./organize-pdf)
+43
View File
@@ -0,0 +1,43 @@
---
title: تعديل المرفقات
description: اعرض المرفقات المضمنة في مستند PDF وأزل منها ما تختاره.
---
# تعديل المرفقات
افحص المرفقات داخل ملف PDF وأدرها. تسرد الأداة كل ملف مضمن باسمه ومستوى إرفاقه، ثم تتيح لك تعليم مرفقات فردية للإزالة أو حذفها كلها دفعة واحدة.
## طريقة العمل
1. ارفع ملف PDF.
2. تفحص الأداة المرفقات تلقائيًا وتعرضها في قائمة.
3. يعرض كل مرفق اسم ملفه وهل هو مرفق على مستوى المستند أو على مستوى الصفحة.
4. انقر أيقونة سلة المهملات بجوار المرفق لتعليمه للإزالة (انقر مرة أخرى لإلغاء التعليم).
5. استخدم زر **إزالة كل المرفقات** لتحديد كل شيء دفعة واحدة، أو **إلغاء تحديد الكل** لمسح التحديدات.
6. انقر زر المعالجة لحفظ PDF جديد بعد إزالة المرفقات المحددة.
## الميزات
- يسرد كل المرفقات على مستوى المستند وعلى مستوى الصفحة
- إزالة المرفقات فرديًا أو دفعة واحدة
- تبديل التحديد تشغيلًا وإيقافًا قبل تثبيت التغييرات
- شطب مرئي وتغيير في الشفافية للعناصر المعلَّمة للإزالة
- ينزّل PDF المعدّل بعد حذف المرفقات المحددة
## حالات الاستخدام
- إزالة الملفات القديمة أو الخاطئة المضمنة في مستند قبل إعادة توزيعه
- حذف المرفقات الحساسة (بيانات مالية أو معلومات شخصية) من PDF قبل مشاركته
- تقليل حجم PDF بإزالة الملفات المضمنة الكبيرة التي لم تعد مطلوبة
- تدقيق المحتوى المضمن وتنظيف المستند قبل الأرشفة
## نصائح
- تظهر المرفقات المعلَّمة للإزالة مع شطب مرئي. يمكنك إعادتها قبل المعالجة إذا غيّرت رأيك.
- إذا لم تُعثر على مرفقات، تعرض الأداة رسالة واضحة "لم يتم العثور على مرفقات"، أي أن PDF لا يحتوي ببساطة على ملفات مضمنة.
## أدوات ذات صلة
- [إضافة مرفقات](./add-attachments)
- [استخراج المرفقات](./extract-attachments)
- [عرض البيانات الوصفية](./view-metadata)
+58
View File
@@ -0,0 +1,58 @@
---
title: تعديل البيانات الوصفية
description: اعرض حقول البيانات الوصفية في PDF وعدّلها، ومنها العنوان والمؤلف والكلمات المفتاحية والتواريخ والخصائص المخصصة.
---
# تعديل البيانات الوصفية
عدّل البيانات الوصفية المضمنة في ملف PDF. تملأ الأداة نموذجًا مسبقًا بالبيانات الوصفية الحالية للمستند، وتتيح لك تعديل أي حقل، ثم تحفظ التغييرات في ملف PDF جديد.
## طريقة العمل
1. ارفع ملف PDF. تقرأ الأداة بياناته الوصفية الحالية وتملأ النموذج بها.
2. عدّل أي حقل قياسي: العنوان، المؤلف، الموضوع، الكلمات المفتاحية، المنشئ، المنتِج.
3. اضبط تاريخ الإنشاء وتاريخ التعديل باستخدام منتقيات التاريخ والوقت.
4. أضف حقول بيانات وصفية مخصصة بالنقر على زر الإضافة وإدخال زوج مفتاح وقيمة.
5. انقر زر المعالجة لحفظ PDF المعدّل.
## الميزات
- يملأ مسبقًا كل البيانات الوصفية الموجودة من ملف PDF المرفوع
- الحقول القياسية: العنوان، المؤلف، الموضوع، الكلمات المفتاحية، المنشئ، المنتِج
- منتقيات التاريخ والوقت لتاريخ الإنشاء وتاريخ التعديل
- حقول بيانات وصفية مخصصة بأزواج مفتاح وقيمة لخصائص اعتباطية
- يحفظ التغييرات مباشرة في قاموس معلومات المستند في PDF
## الحقول القابلة للتعديل
| الحقل | الوصف |
| --------------------- | ------------------------------------ |
| **العنوان** | عنوان المستند المعروض في قارئات PDF |
| **المؤلف** | الشخص أو الجهة التي أنشأت المستند |
| **الموضوع** | وصف موجز لموضوع المستند |
| **الكلمات المفتاحية** | مصطلحات مفصولة بفواصل للبحث والتصنيف |
| **المنشئ** | التطبيق الذي أنشأ المحتوى في الأصل |
| **المنتِج** | التطبيق الذي ولّد ملف PDF |
| **تاريخ الإنشاء** | متى أُنشئ المستند أصلًا |
| **تاريخ التعديل** | متى عُدّل المستند آخر مرة |
| **الحقول المخصصة** | أي أزواج مفتاح وقيمة إضافية تحددها |
## حالات الاستخدام
- تعيين عنوان ومؤلف مناسبين قبل نشر مستند
- إضافة كلمات مفتاحية لتحسين قابلية البحث في أنظمة إدارة المستندات
- تحديث تاريخ التعديل ليعكس المراجعة الحالية
- إضافة حقول بيانات وصفية مخصصة مثل القسم أو معرّف المشروع أو التصنيف
- تنظيف البيانات الوصفية التي تركها برنامج التأليف الأصلي
## نصائح
- تُكتب الحقول المخصصة مباشرة في قاموس معلومات PDF. قد لا تعرض بعض قارئات PDF الحقول المخصصة، لكنها تبقى محفوظة في الملف.
- اترك حقلًا فارغًا لمسحه من البيانات الوصفية. يحفظ زر المعالجة ما هو موجود في النموذج.
- لعرض البيانات الوصفية دون تعديل، استخدم [عرض البيانات الوصفية](./view-metadata). ولإزالة كل البيانات الوصفية، استخدم إزالة البيانات الوصفية.
## أدوات ذات صلة
- [عرض البيانات الوصفية](./view-metadata)
- [طبقات PDF OCG](./pdf-layers)
- [ضغط PDF](./compress-pdf)
+48
View File
@@ -0,0 +1,48 @@
---
title: محرر PDF
description: علّق على ملفات PDF وميّزها واحجب منها وأضف أشكالًا وصورًا وابحث فيها واعرضها مباشرة في متصفحك.
---
# محرر PDF
يتيح لك محرر PDF في BentoPDF التعليق على ملفات PDF وتمييزها وحجب محتواها وإضافة ملاحظات وأشكال وصور والبحث فيها. يحمّل محررًا متكامل الميزات مباشرة في متصفحك دون الحاجة إلى رفع أي ملفات إلى خادم.
## طريقة العمل
1. ارفع ملف PDF بالنقر على منطقة الإسقاط أو بسحب ملف إليها.
2. يفتح محرر PDF المضمن تلقائيًا ومستندك محمّل فيه.
3. استخدم شريط الأدوات للتعليق أو التمييز أو الحجب أو إضافة نص أو رسم أشكال أو إدراج صور.
4. انقر **تنزيل PDF المعدّل** لحفظ تغييراتك.
## الميزات
- شريط أدوات تعليق كامل مع التمييز والتسطير والشطب والرسم الحر
- إدراج النصوص والتعليقات
- أدوات حجب تزيل المحتوى المعلَّم نهائيًا بعد تطبيق الحجب. إذا كانت هناك علامات لم تُطبَّق عند النقر على **تنزيل PDF المعدّل**، يعرض المحرر تطبيقها أولًا.
- أدوات أشكال للمستطيلات والدوائر والخطوط والأسهم
- إدراج الصور على صفحات PDF
- بحث نصي مدمج في المستند
- دعم مستندات متعددة بعلامات تبويب (حتى 10 مستندات مفتوحة في وقت واحد)
- تحميل الملفات بالسحب والإفلات
## حالات الاستخدام
- مراجعة العقود ووضع علامات على التغييرات بالتمييز والتعليقات
- حجب المعلومات السرية مثل أرقام الضمان الاجتماعي أو البيانات المالية قبل المشاركة
- إضافة تعليقات على المخططات المعمارية أو الرسومات الهندسية
- إدراج شعارات الشركات أو الأختام على صفحات المستند
- البحث في مستندات قانونية طويلة عن مصطلحات محددة
## نصائح
- يمكنك فتح عدة ملفات PDF في وقت واحد والتبديل بينها باستخدام شريط علامات التبويب أعلى المحرر.
- يحافظ المحرر على بنية PDF الأصلية، فتبقى الخطوط والتخطيطات وحقول النماذج سليمة.
- تعليم نص أو منطقة للحجب لا يزيل أي شيء حتى يُطبَّق الحجب. وعند حجب نص محدد، تُزال أيضًا نسخه الموجودة في خصائص الملف والإشارات المرجعية والتعليقات والمرفقات من الملف المنزَّل، ما لم يكن الملف مشفرًا.
- للعلامات المائية أو ترقيم الصفحات بالجملة، استخدم الأدوات المخصصة لهما للحصول على تحكم أكبر في التنسيق.
## أدوات ذات صلة
- [إضافة علامة مائية](./add-watermark)
- [توقيع PDF](./sign-pdf)
- [إضافة أختام](./add-stamps)
- [إزالة التعليقات](./remove-annotations)
+50
View File
@@ -0,0 +1,50 @@
---
title: بريد إلكتروني إلى PDF
description: حوّل ملفات البريد الإلكتروني EML وMSG إلى PDF في متصفحك. يحافظ على الرؤوس والمحتوى وقائمة المرفقات.
---
# بريد إلكتروني إلى PDF
حوّل ملفات البريد الإلكتروني المحفوظة إلى ملفات PDF نظيفة وقابلة للطباعة. تحلل الأداة ملفات EML وMSG وتستخرج الرسالة كاملة، من رؤوس ومحتوى وبيانات وصفية للمرفقات، وتعرض كل شيء في ملف PDF منظم. مفيدة للكشف القانوني وحفظ السجلات أو لمجرد طباعة بريد مهم.
## الصيغ المدعومة
| الصيغة | الامتداد | ملاحظات |
| :----- | :------- | :----------------------------------------------------- |
| EML | `.eml` | صيغة بريد MIME القياسية (تُصدَّر من معظم برامج البريد) |
| MSG | `.msg` | صيغة Microsoft Outlook الخاصة |
## طريقة العمل
1. انقر منطقة الرفع أو اسحب ملفات EML أو MSG وأفلتها. يمكنك خلط الصيغتين في دفعة واحدة.
2. راجع قائمة الملفات. أزل أي عناصر غير مرغوبة بأيقونة سلة المهملات، أو انقر **إضافة المزيد من الملفات** لتضمين رسائل أخرى.
3. اضبط خيارات التحويل (انظر أدناه).
4. انقر **تحويل إلى PDF**. تحلل الأداة كل رسالة وتعرض المحتوى كـ HTML منسّق وتحوّله إلى PDF عبر محرك PyMuPDF.
5. تُنزَّل الرسالة الواحدة مباشرة بصيغة PDF. وتُجمَّع الرسائل المتعددة في `emails-converted.zip`.
## الخيارات
| الخيار | الافتراضي | الوصف |
| :---------------------------------- | :-------- | :------------------------------------------------------------------------------ |
| **حجم الصفحة** | A4 | اختر بين أبعاد A4 أو Letter أو Legal. |
| **تضمين النسخة الكربونية والمخفية** | مفعّل | عند التفعيل، تظهر قوائم مستلمي CC وBCC في قسم رأس الرسالة في PDF. |
| **تضمين قائمة المرفقات** | مفعّل | عند التفعيل، تظهر في PDF قائمة بالملفات المرفقة بالرسالة (مع أسمائها وأحجامها). |
## حالات الاستخدام
- أرشفة المراسلات التجارية المهمة بصيغة PDF للامتثال أو التدقيق
- طباعة سلاسل الرسائل للإجراءات القانونية أو طلبات الكشف
- إنشاء سجل دائم لتأكيدات الطلبات أو الإيصالات أو العقود الواردة بالبريد
- نسخ ملفات Outlook MSG احتياطيًا بصيغة لا تتطلب Outlook لقراءتها
- توثيق تفاعلات دعم العملاء من ملفات EML المصدّرة
## نصائح
- كلٌّ من EML (المستخدمة في Thunderbird وApple Mail ومعظم برامج البريد) وملفات Outlook MSG مدعومة. صدّر الرسائل من برنامج بريدك وأفلتها مباشرة في الأداة.
- تحتفظ رسائل البريد المنسقة بـ HTML بتنسيقها في PDF. أما الرسائل النصية العادية فتُعرض بتنسيق نظيف ومقروء.
- تعرض قائمة المرفقات الأسماء والأحجام لكنها لا تضمّن ملفات المرفقات الفعلية في PDF.
## أدوات ذات صلة
- [XML إلى PDF](./xml-to-pdf)
- [XPS إلى PDF](./xps-to-pdf)
+44
View File
@@ -0,0 +1,44 @@
---
title: EPUB إلى PDF
description: حوّل الكتب الإلكترونية EPUB إلى PDF في متصفحك. مجاني وبدون رفع ملفات وبخصوصية أولًا.
---
# EPUB إلى PDF
حوّل الكتب الإلكترونية EPUB إلى ملفات PDF دون مغادرة متصفحك. EPUB هو المعيار المفتوح للكتب الرقمية، لكنك تحتاج أحيانًا إلى PDF بتخطيط ثابت للطباعة أو التعليق أو المشاركة مع من لا يملكون قارئ كتب إلكترونية.
## الصيغ المدعومة
| الصيغة | الامتداد | ملاحظات |
| :----- | :------- | :------------------- |
| EPUB | `.epub` | ملفات EPUB 2 وEPUB 3 |
## طريقة العمل
1. انقر منطقة الرفع أو اسحب ملفات EPUB وأفلتها. التحديد المتعدد مدعوم.
2. راجع الملفات المرفوعة. أزل أي عناصر غير مرغوبة بأيقونة سلة المهملات، أو انقر **إضافة المزيد من الملفات** لتوسيع الدفعة.
3. انقر **تحويل إلى PDF**. يعرض محرك PyMuPDF محتوى EPUB، من نص وصور وتنسيق، في ناتج PDF مقسّم إلى صفحات.
4. يُنزَّل ملف EPUB الواحد مباشرة بصيغة PDF. وتُجمَّع الملفات المتعددة في أرشيف ZIP باسم `epub-converted.zip`.
## الخيارات
يعمل التحويل بإعدادات افتراضية معقولة ودون الحاجة إلى أي ضبط. ينساب النص في أبعاد صفحات قياسية، وتنتقل الخطوط والصور المضمنة إلى PDF.
## حالات الاستخدام
- طباعة كتاب إلكتروني خالٍ من DRM للقراءة بعيدًا عن الشاشات
- تقديم مخطوطة EPUB بصيغة PDF بتخطيط ثابت للمراجعة
- أرشفة الكتب الرقمية بصيغة يفتحها كل نظام تشغيل أصلًا
- مشاركة فصل مع زميل لا يملك قارئ EPUB
- تحويل الوثائق التقنية الموزعة بصيغة EPUB إلى ملفات PDF قابلة للتعليق
## نصائح
- ميزات EPUB 3 مثل الصوت والفيديو المضمنين لن تنتقل إلى PDF، لكن كل النصوص والصور والجداول تُحوَّل بسلاسة.
- للحصول على أفضل النتائج مع ملفات EPUB كثيرة التنسيق، افحص الصفحات الأولى من الناتج للتأكد من دقة التخطيط.
## أدوات ذات صلة
- [MOBI إلى PDF](./mobi-to-pdf)
- [FB2 إلى PDF](./fb2-to-pdf)
- [CBZ إلى PDF](./cbz-to-pdf)
+55
View File
@@ -0,0 +1,55 @@
---
title: Excel إلى PDF
description: حوّل جداول Excel (XLS وXLSX) وملفات ODS وCSV إلى PDF مع الحفاظ على التنسيق.
---
# Excel إلى PDF
حوّل ملفات جداول البيانات إلى PDF. تتعامل الأداة مع ملفات Excel الحديثة وصيغة XLS القديمة وجداول OpenDocument وحتى CSV، وكلها تُعرض عبر محرك LibreOffice داخل المتصفح الذي يحافظ على تنسيق الخلايا والصيغ (كقيم محسوبة) والمخططات وتخطيطات الأوراق المتعددة.
## الصيغ المدعومة
| الصيغة | الامتدادات |
| :----------------------- | :--------- |
| Excel (حديثة) | `.xlsx` |
| Excel (قديمة) | `.xls` |
| OpenDocument Spreadsheet | `.ods` |
| CSV | `.csv` |
## طريقة العمل
1. انقر منطقة الرفع أو اسحب ملفات جداول البيانات وأفلتها.
2. راجع قائمة الملفات. أضف المزيد أو أزل ما لا تريده.
3. انقر **تحويل إلى PDF**. يبدأ محرك LibreOffice عند أول استخدام، ثم يعالج كل ملف.
4. يُنزَّل الملف الواحد مباشرة بصيغة PDF. وتُسلَّم الملفات المتعددة باسم `excel-converted.zip`.
## الخيارات
لا تحتاج هذه الأداة إلى أي إعداد إضافي. يحدد محرك LibreOffice تخطيط الصفحة والتحجيم ومنطقة الطباعة بناءً على الإعدادات المضمنة في جدول البيانات.
## الناتج
| عدد المدخلات | الناتج |
| :------------ | :------------------------------------------------------ |
| ملف واحد | تنزيل ملف PDF واحد (اسم الملف الأصلي بامتداد `.pdf`) |
| ملفان أو أكثر | أرشيف ZIP (`excel-converted.zip`) يحتوي ملف PDF لكل ملف |
## حالات الاستخدام
- تحويل التقارير المالية أو الميزانيات من Excel إلى PDF للتوزيع
- إنشاء ملفات PDF جاهزة للطباعة من جداول المخزون أو كتالوجات المنتجات
- مشاركة نتائج تحليل البيانات مع أصحاب المصلحة الذين لا يملكون Excel
- أرشفة التقارير ربع السنوية بصيغة غير قابلة للتعديل
- تحويل ملفات ODS من LibreOffice Calc إلى PDF
## نصائح
- تُعرض المخططات المضمنة في جدول البيانات في PDF. تأكد من أنها تبدو صحيحة في الملف المصدر قبل التحويل.
- إذا كان جدول بياناتك يحتوي أوراقًا متعددة، تُضمَّن كل الأوراق في ناتج PDF.
- لبيانات CSV البسيطة دون تنسيق، توفر أداة [CSV إلى PDF](./csv-to-pdf) تحويلًا أخف. استخدم Excel إلى PDF عندما تحتاج إلى الحفاظ على التنسيق أو المخططات أو الأوراق المتعددة.
## أدوات ذات صلة
- [CSV إلى PDF](./csv-to-pdf)
- [Word إلى PDF](./word-to-pdf)
- [PowerPoint إلى PDF](./powerpoint-to-pdf)
+42
View File
@@ -0,0 +1,42 @@
---
title: استخراج المرفقات
description: استخرج كل الملفات المرفقة المضمنة من ملف PDF واحد أو أكثر ونزّلها كأرشيف ZIP.
---
# استخراج المرفقات
استخرج كل مرفق مضمن من ملف PDF واحد أو أكثر. تُجمَّع كل الملفات المستخرجة في أرشيف ZIP واحد للتنزيل.
## طريقة العمل
1. ارفع ملف PDF واحدًا أو أكثر يحتوي على مرفقات مضمنة.
2. انقر **استخراج المرفقات**.
3. تفحص الأداة كل ملف PDF بحثًا عن المرفقات على مستوى المستند وعلى مستوى الصفحة.
4. تُجمَّع كل الملفات التي عُثر عليها في أرشيف ZIP وتُنزَّل تلقائيًا.
5. تؤكد رسالة حالة عدد المرفقات التي عُثر عليها وحجمها الإجمالي.
## الميزات
- استخراج دفعي من عدة ملفات PDF في وقت واحد
- يستخرج المرفقات على مستوى المستند وعلى مستوى الصفحة
- ينتج ملف ZIP واحدًا يحتوي كل الملفات المستخرجة
- يعرض العدد الإجمالي للمرفقات والحجم المجمّع للملفات
- رسائل حالة واضحة إذا لم يُعثر على مرفقات
## حالات الاستخدام
- استعادة ملفات البيانات المضمنة في تقرير PDF
- سحب أصول الصور من ملف أعمال أو مستند مواصفات
- استخراج المواد التكميلية من ملفات PDF الخاصة بالتدريب أو الامتثال
- تدقيق الملفات المضمنة داخل دفعة من ملفات PDF
## نصائح
- إذا أبلغت الأداة بعدم وجود مرفقات، فقد يحتوي PDF على صور مضمنة أو بيانات نماذج بدلًا من ذلك، وهذه ليست ملفات مرفقة. استخدم [استخراج الصور](./extract-images) للصور المضمنة.
- عند معالجة عدة ملفات PDF، تنتهي مرفقات كل الملفات في ملف ZIP واحد. وتُحفظ أسماء الملفات كما كانت عند تضمينها الأصلي.
## أدوات ذات صلة
- [إضافة مرفقات](./add-attachments)
- [تعديل المرفقات](./edit-attachments)
- [استخراج الصور](./extract-images)
+45
View File
@@ -0,0 +1,45 @@
---
title: استخراج الصور
description: استخرج كل الصور المضمنة من ملفات PDF. عاينها في شبكة ونزّلها فرديًا أو كأرشيف ZIP.
---
# استخراج الصور
يسحب كل صورة مضمنة من ملف PDF واحد أو أكثر. تُعرض الصور المستخرجة في شبكة معاينة حيث يمكنك تنزيلها فرديًا أو الحصول على كل شيء دفعة واحدة كملف ZIP. يعمل بواسطة PyMuPDF.
## طريقة العمل
1. ارفع ملف PDF واحدًا أو أكثر بالنقر على منطقة الإسقاط أو بسحب الملفات إليها. أضف المزيد من الملفات أو أزل ملفات فردية حسب الحاجة.
2. انقر **استخراج** لبدء المعالجة.
3. تفحص الأداة كل صفحة في كل ملف PDF مرفوع وتجد الصور المضمنة وتستخرجها.
4. تظهر الصور المستخرجة في شبكة بصور مصغرة. لكل صورة زر تنزيل.
5. انقر **تنزيل الكل** لحفظ كل شيء كأرشيف ZIP.
## الخيارات
لا تحتوي هذه الأداة على خيارات قابلة للضبط. تُستخرج كل الصور المضمنة بصيغتها الأصلية (عادةً PNG أو JPEG أو أي صيغة استُخدمت عند تضمين الصورة في PDF).
## صيغة الناتج
- تُعرض الصور في شبكة المعاينة بأسماء مثل `image_1.png` و`image_2.jpg` وهكذا.
- ينتج **تنزيل الكل** ملف `extracted-images.zip` يحتوي كل الصور.
- يمكن تنزيل الصور فرديًا واحدة تلو الأخرى من الشبكة.
## حالات الاستخدام
- استعادة الصور أو الرسومات من PDF لإعادة استخدامها في مشروع آخر.
- استخراج صور المنتجات من كتالوج PDF لعرضها في قائمة تجارة إلكترونية.
- سحب المخططات من الوثائق التقنية لاستخدامها في العروض التقديمية.
- تدقيق الصور المضمنة في مستند قبل مشاركته.
## نصائح
- تستخرج الأداة الصور تمامًا كما هي مخزنة في PDF. ولا تعيد عرض الصفحات كصور، ولهذا استخدم [PDF إلى PNG](./pdf-to-png) أو [PDF إلى JPG](./pdf-to-jpg).
- إذا أبلغت الأداة "لم يتم العثور على صور"، فقد يستخدم PDF رسومات متجهية بدلًا من صور نقطية مضمنة، أو قد يكون مستندًا ممسوحًا ضوئيًا تمثل فيه الصفحة كلها صورة واحدة كبيرة.
- تعمل المعالجة الدفعية عبر عدة ملفات PDF. وتُجمع كل الصور من كل الملفات في شبكة واحدة وملف ZIP واحد.
## أدوات ذات صلة
- [PDF إلى PNG](./pdf-to-png)
- [PDF إلى JPG](./pdf-to-jpg)
- [منشئ سير عمل PDF](./pdf-workflow)
+41
View File
@@ -0,0 +1,41 @@
---
title: استخراج الصفحات
description: احفظ نطاقًا محددًا من صفحات PDF كمستند جديد.
---
# استخراج الصفحات
اسحب مجموعة من الصفحات من PDF واحفظها كملف جديد. حدّد الصفحات التي تريدها بدقة باستخدام صيغة النطاقات، وتنشئ الأداة ملف PDF نظيفًا يحتوي تلك الصفحات فقط.
## طريقة العمل
1. ارفع ملف PDF. تعرض الأداة اسم الملف وحجمه وإجمالي عدد الصفحات.
2. أدخل الصفحات التي تريد استخراجها بصيغة النطاقات (مثل `1-5` أو `3, 7, 10-12`).
3. يمكنك اختيار تنزيل كل نطاق كملف PDF منفصل داخل أرشيف ZIP.
4. انقر زر المعالجة. تُنزَّل الصفحات المستخرجة كملف PDF جديد (أو ZIP).
## الميزات
- صيغة مرنة لنطاقات الصفحات: صفحات فردية أو نطاقات أو توليفات مفصولة بفواصل
- يعرض إجمالي عدد الصفحات بعد الرفع للرجوع إليه بسهولة
- خيار الإخراج كملف PDF واحد مدمج أو ملفات منفصلة في ZIP
- يحافظ على محتوى الصفحات الأصلي وتنسيقها
## حالات الاستخدام
- سحب الملخص التنفيذي (الصفحات الأولى) من تقرير طويل
- استخراج فصل واحد من PDF كتاب دراسي
- حفظ صفحات محددة من حزمة نماذج كمستندات مستقلة
- إنشاء مستند عيّنة من صفحات مختارة من ملف أكبر
## نصائح
- تبدأ ترقيم الصفحات من 1. استخدم `1` للصفحة الأولى، لا `0`.
- لإزالة الصفحات بدلًا من استخراجها، استخدم [حذف الصفحات](./delete-pages)، فهي العملية المعاكسة.
- إذا كنت تحتاج إلى تحديد مرئي للصفحات بالصور المصغرة، فاستخدم [تقسيم PDF](./split-pdf) بوضع التحديد المرئي.
## أدوات ذات صلة
- [تقسيم PDF](./split-pdf)
- [حذف الصفحات](./delete-pages)
- [دمج PDF](./merge-pdf)
+46
View File
@@ -0,0 +1,46 @@
---
title: استخراج الجداول
description: اكشف الجداول في مستندات PDF واستخرجها. صدّرها بصيغة CSV أو JSON أو Markdown مع دقة لكل جدول على حدة.
---
# استخراج الجداول
يكشف كل الجداول في ملف PDF ويتيح لك تصديرها بالصيغة التي تختارها: CSV أو JSON أو Markdown. يُستخرج كل جدول على حدة مع بيانات وصفية عن الصفحة والموضع. يعمل بمحرك كشف الجداول في PyMuPDF.
## طريقة العمل
1. ارفع ملف PDF بالنقر على منطقة الإسقاط أو بسحب ملف إليها.
2. اختر **صيغة التصدير** المفضلة: CSV أو JSON أو Markdown.
3. انقر **استخراج** لبدء المعالجة.
4. إذا عُثر على جدول واحد، يُنزَّل كملف واحد. أما الجداول المتعددة فتنتج أرشيف ZIP بملف لكل جدول.
## الخيارات
- **صيغة التصدير**: اختر بين:
- **CSV**: قيم مفصولة بفواصل مع اقتباس صحيح للحقول التي تحتوي فواصل أو علامات اقتباس أو أسطرًا جديدة. مناسبة لجداول البيانات وقواعد البيانات.
- **JSON**: بنية مصفوفة من المصفوفات، منسّقة بمسافتين بادئتين. مناسبة للاستهلاك البرمجي.
- **Markdown**: صيغة جدول مفصولة بخطوط عمودية يعرضها PyMuPDF. مناسبة للوثائق وملفات README.
## صيغة الناتج
- **جدول واحد**: `filename_table.csv` (أو `.json` / `.md`)
- **جداول متعددة**: `filename_tables.zip` يحتوي ملفات بأسماء مثل `table_1_page3.csv` و`table_2_page5.csv` وهكذا.
## حالات الاستخدام
- استخراج جداول محددة من تقارير PDF الطويلة دون سحب بيانات المستند كاملًا.
- الحصول على الجداول بصيغة Markdown للصقها مباشرة في مسائل GitHub أو الويكي أو الوثائق.
- سحب بيانات JSON منظمة من جداول PDF لتكاملات API أو السكربتات.
- مقارنة الجداول بين نسخ PDF مختلفة بتصدير كليهما إلى CSV ومقارنة الفروق.
## نصائح
- تمنحك هذه الأداة تحكمًا لكل جدول. إذا أردت فقط تفريغ كل الجداول في ملف CSV واحد، استخدم [PDF إلى CSV](./pdf-to-csv). ولمصنف Excel كامل، استخدم [PDF إلى Excel](./pdf-to-excel).
- قد تُكتشف الجداول الممتدة على عدة صفحات كجداول منفصلة لكل صفحة. وقد تحتاج إلى دمجها يدويًا.
- إذا لم تُكتشف أي جداول، فقد يكون PDF صورة ممسوحة ضوئيًا. مرّره على التعرف الضوئي أولًا لإضافة طبقة نصية.
## أدوات ذات صلة
- [PDF إلى CSV](./pdf-to-csv)
- [PDF إلى Excel](./pdf-to-excel)
- [PDF إلى نص](./pdf-to-text)
+43
View File
@@ -0,0 +1,43 @@
---
title: FB2 إلى PDF
description: حوّل ملفات الكتب الإلكترونية FictionBook (FB2) إلى PDF في متصفحك. مجاني وخاص ودون رفع إلى خادم.
---
# FB2 إلى PDF
حوّل ملفات FictionBook 2 (FB2) إلى مستندات PDF. FB2 صيغة كتب إلكترونية مبنية على XML، وهي شائعة في روسيا وأوروبا الشرقية. ورغم أنها مدعومة جيدًا على بعض المنصات، فهي شبه مجهولة على غيرها، والتحويل إلى PDF يجعل كتبك قابلة للقراءة في كل مكان.
## الصيغ المدعومة
| الصيغة | الامتداد | ملاحظات |
| :------------ | :------- | :------------------------------- |
| FictionBook 2 | `.fb2` | صيغة كتب إلكترونية مبنية على XML |
## طريقة العمل
1. انقر على منطقة الرفع أو اسحب ملفات FB2 وأفلتها. يمكنك تحديد عدة ملفات دفعة واحدة.
2. راجع قائمة الملفات. استخدم أيقونة سلة المهملات لإزالة ملف بعينه، أو **إضافة المزيد من الملفات** لإضافة غيرها.
3. انقر على **تحويل إلى PDF**. يحلّل محرك PyMuPDF بنية XML الخاصة بـ FB2 ويعرضها كمحتوى PDF مقسّم إلى صفحات.
4. يُنزَّل ملف واحد كـ PDF مباشرة. أما التحويلات المتعددة فتُجمَّع في `fb2-converted.zip`.
## الخيارات
لا حاجة إلى أي إعدادات. يتعامل المحوّل مع بنية FB2 XML تلقائيًا، ويحافظ على فواصل الفصول والتنسيق وأي صور مضمّنة.
## حالات الاستخدام
- قراءة كتب FB2 على أجهزة أو تطبيقات تدعم PDF فقط
- طباعة الأدب الروسي الموزّع بصيغة FB2
- أرشفة مكتبة FB2 في صيغة مدعومة عالميًا
- مشاركة كتاب مع شخص لا يدعم قارئه FictionBook
## نصائح
- ملفات FB2 هي XML نصي عادي، لذا تميل إلى أن تكون صغيرة وتتحول بسرعة حتى داخل المتصفح.
- إذا كانت ملفات FB2 مضغوطة بصيغة `.fb2.zip`، فاستخرجها أولًا قبل رفعها.
## أدوات ذات صلة
- [EPUB إلى PDF](./epub-to-pdf)
- [MOBI إلى PDF](./mobi-to-pdf)
- [XML إلى PDF](./xml-to-pdf)
+44
View File
@@ -0,0 +1,44 @@
---
title: توحيد حجم الصفحة
description: وحّد حجم جميع صفحات ملف PDF. اختر من أحجام الورق القياسية أو حدّد أبعادًا مخصصة.
---
# توحيد حجم الصفحة
غالبًا ما تحتوي ملفات PDF المجمّعة من مصادر متعددة على صفحات بأحجام غير متطابقة: بعضها Letter وبعضها A4 وبعضها بحجم غير قياسي تمامًا. تفرض هذه الأداة حجمًا مستهدفًا واحدًا على كل الصفحات، مع تحجيم المحتوى ليلائم الصفحة أو يملأها حسب الحاجة.
## طريقة العمل
1. ارفع ملف PDF.
2. اختر **حجم الصفحة المستهدف** من القائمة المنسدلة (A4 أو Letter أو Legal أو A3 أو A5 أو Tabloid أو مخصص).
3. اختر **الاتجاه**: تلقائي يُبقي اتجاه كل صفحة الأصلي، أو يمكنك فرض عمودي أو أفقي.
4. اختر وضع **تحجيم المحتوى**: ملاءمة (يحافظ على كل المحتوى وقد يضيف هوامش) أو ملء (يملأ الصفحة وقد يقص الحواف).
5. يمكنك اختياريًا تعيين **لون الخلفية** للهوامش المضافة.
6. انقر على **توحيد حجم الصفحة**.
## الخيارات
- **الأحجام القياسية**: A4 وLetter وLegal وA3 وA5 وTabloid
- **أبعاد مخصصة**: أدخل العرض والارتفاع بالبوصة أو بالملليمتر
- **الاتجاه**: تلقائي أو عمودي أو أفقي
- **وضع التحجيم**: ملاءمة أو ملء (قص)
- **لون الخلفية**: أي لون لتعبئة الهوامش
## حالات الاستخدام
- توحيد ملف PDF مدموج جاءت صفحاته من ماسحات ضوئية مختلفة
- تحويل مستند بحجم US Letter إلى A4 للتوزيع الدولي
- تجهيز ملفات PDF للطباعة تتطلب حجم قص ثابتًا
- إصلاح الصفحات التي تنحرف قليلًا عن الحجم القياسي (مثل 8.49 × 11.02 بوصة بدلًا من 8.5 × 11)
## نصائح
- استخدم وضع الملاءمة لضمان عدم فقدان أي محتوى. وضع الملء يبدو أنظف لكنه قد يقص الحواف.
- افحص الناتج بأداة أبعاد الصفحة للتأكد من تطابق كل الصفحات مع الحجم المستهدف.
- الأبيض هو لون الخلفية الافتراضي، فبدّله إلى لون داكن إذا كان لمستندك هوامش داكنة.
## أدوات ذات صلة
- [أبعاد الصفحة](./page-dimensions): افحص أحجام الصفحات قبل التوحيد وبعده
- [ضغط PDF](./compress-pdf): قلّل حجم الملف بعد التوحيد
- [قص PDF](./crop-pdf): اقصص الصفحات يدويًا بدل التحجيم التلقائي
+51
View File
@@ -0,0 +1,51 @@
---
title: تسطيح PDF
description: سطّح النماذج التفاعلية والتعليقات التوضيحية إلى محتوى ثابت. يجعل حقول النماذج غير قابلة للتحرير ويدمج التعليقات في الصفحة.
---
# تسطيح PDF
يدمج التسطيح العناصر التفاعلية (حقول النماذج والقوائم المنسدلة ومربعات الاختيار والتعليقات التوضيحية والتحديدات والملاحظات اللاصقة) مباشرة في محتوى الصفحة. يبقى المظهر المرئي كما هو، لكن لا شيء يصبح قابلًا للتحرير أو الاستخراج. إنه المكافئ في PDF لطباعة نموذج مملوء ثم مسحه ضوئيًا، إلا أن الجودة تبقى مثالية.
## طريقة العمل
1. ارفع ملف PDF واحدًا أو أكثر.
2. انقر على **تسطيح PDF**.
3. يُنزَّل الملف الواحد مباشرة. أما الملفات المتعددة فتنتج أرشيف ZIP.
تستخدم الأداة pdf-lib لتسطيح حقول النماذج (عبر `form.flatten()`) ومسطِّحًا مخصصًا للتعليقات التوضيحية لدمجها في تدفق الصفحة. تتم العمليتان في تمريرة واحدة.
## ما الذي يُسطَّح
- **حقول النماذج**: حقول النص ومربعات الاختيار وأزرار الراديو والقوائم المنسدلة وحقول التوقيع
- **التعليقات التوضيحية**: التعليقات والتحديدات والشطب والتسطير والملاحظات اللاصقة والأختام وتعليقات الحبر
- **العناصر التفاعلية**: الأزرار ومشغّلات الإجراءات
## ما الذي يبقى دون تغيير
- محتوى النص (يظل قابلًا للتحديد والبحث)
- الصور والرسومات
- تخطيط الصفحة وأبعادها
- الإشارات المرجعية وجدول المحتويات
- الروابط التشعبية (ما لم تكن مبنية على تعليقات توضيحية)
## حالات الاستخدام
- قفل نموذج مكتمل حتى لا يتمكن المستلمون من تغيير الإجابات المقدَّمة
- تجهيز ملف PDF للأرشفة حيث لا حاجة إلى العناصر التفاعلية
- إصلاح مشكلات العرض الناتجة عن اختلاف ظهور التعليقات بين برامج العرض
- ضمان عدم إمكانية تعديل مستند موقَّع بعد تطبيق التوقيع
- تقليل حجم الملف بإزالة تعريفات حقول النماذج وكائنات التعليقات التوضيحية
## نصائح
- سطّح بعد اكتمال جميع التعديلات. لا توجد طريقة لعكس تسطيح ملف PDF.
- إذا كنت تريد التسطيح وإزالة البيانات الوصفية وJavaScript والمرفقات أيضًا، فاستخدم أداة تنظيف PDF بدلًا من ذلك، إذ تتضمن التسطيح كأحد خياراتها.
- قد تعرض بعض ملفات PDF رسالة "لم يتم العثور على نموذج". هذا طبيعي إذا كان المستند يحتوي على تعليقات توضيحية فقط دون حقول نماذج.
## أدوات ذات صلة
- [تنظيف PDF](./sanitize-pdf): سطّح النماذج وأزل البيانات الوصفية والبرامج النصية وغيرها
- [تحويل PDF إلى صور نقطية](./rasterize-pdf): حوّل إلى PDF مبني على الصور لأقصى درجات التسطيح
- [تحويل الخطوط إلى مخططات](./font-to-outline): سطّح الخطوط إلى مسارات متجهة
- [حماية PDF](./protect-pdf): اقفل ملف PDF المسطَّح بكلمة مرور
+52
View File
@@ -0,0 +1,52 @@
---
title: تحويل الخطوط إلى مخططات
description: حوّل جميع خطوط PDF إلى مخططات متجهة لعرض متسق على كل الأجهزة. يزيل مشكلات الاعتماد على الخطوط.
---
# تحويل الخطوط إلى مخططات
يحوّل تحويل الخطوط إلى مخططات كل حرف نصي من رمز مبني على خط إلى مسار متجه. لا يعود ملف PDF معتمدًا على أي خطوط مثبّتة، فيُعرض بشكل متطابق على كل جهاز وكل نظام تشغيل وكل طابعة. وهذه خطوة قياسية في سير عمل ما قبل الطباعة.
## طريقة العمل
1. ارفع ملف PDF واحدًا أو أكثر.
2. انقر على **تحويل إلى مخططات**.
3. يحوّل Ghostscript كل النصوص إلى مسارات متجهة.
4. نزّل النتيجة. الملفات المتعددة تنتج أرشيف ZIP.
لا توجد إعدادات لضبطها. تستخدم الأداة Ghostscript (WebAssembly) لتحويل كل مراجع الخطوط إلى مسارات مخططة في تمريرة واحدة.
## ما الذي يتغير
- تتحول الأحرف النصية إلى منحنيات متجهة (مسارات بيزييه)
- لم يعد تضمين الخطوط ضروريًا، فملف PDF مكتفٍ بذاته على مستوى الرموز
- قد يزداد حجم الملف لأن المسارات المتجهة تكون عادةً أكبر من مراجع الخطوط
- يُحفظ المظهر المرئي تمامًا
## ما الذي تخسره
- تحديد النص ونسخه ولصقه
- إمكانية البحث في النص (يتوقف Ctrl+F عن العمل)
- القدرة على تحرير محتوى النص
- إمكانية الوصول لقارئات الشاشة
## حالات الاستخدام
- إرسال ملفات PDF إلى مطبعة تشترط خطوطًا محوّلة إلى مخططات
- مشاركة مستندات تستخدم خطوطًا مخصصة أو مرخّصة مع أشخاص لا يملكون تلك الخطوط
- منع استبدال الخطوط الذي يغيّر مظهر مستندك على أنظمة أخرى
- تجهيز ملفات PDF لسير عمل النقش بالليزر أو القطع بـ CNC الذي يتطلب مدخلات متجهة
- ضمان عرض ملف PDF الكثيف بالشعارات بشكل صحيح على كل المنصات
## نصائح
- احتفظ بملف PDF الأصلي. التحويل إلى مخططات لا رجعة فيه، ولا يمكنك إعادة المسارات إلى نص قابل للتحرير.
- إذا كنت تحتاج أن يبقى النص قابلًا للبحث، ففكّر في استخدام أداة تحويل PDF إلى صور نقطية مع OCR كخطوة لاحقة.
- تميل ملفات PDF المحوّلة إلى مخططات إلى أن تكون أكبر. شغّل ضغط PDF بعد ذلك إذا كان حجم الملف مهمًا.
## أدوات ذات صلة
- [تسطيح PDF](./flatten-pdf): سطّح النماذج والتعليقات دون المساس بالخطوط
- [تحويل PDF إلى صور نقطية](./rasterize-pdf): حوّل إلى PDF مبني على الصور بدل المخططات المتجهة
- [ضغط PDF](./compress-pdf): قلّل حجم الملف بعد التحويل إلى مخططات
- [PDF إلى PDF/A](./pdf-to-pdfa): حوّل للأرشفة بعد ضمان الاستقلال عن الخطوط
+76
View File
@@ -0,0 +1,76 @@
---
title: إنشاء نموذج PDF
description: أنشئ نماذج PDF قابلة للتعبئة بحقول نصية ومربعات اختيار وقوائم منسدلة وأزرار راديو وغيرها بالسحب والإفلات.
---
# إنشاء نموذج PDF
صمّم نماذج PDF قابلة للتعبئة باحترافية من الصفر أو بإضافة حقول إلى ملف PDF موجود. يتيح لك المحرر المرئي سحب عناصر النموذج وإفلاتها (الحقول النصية ومربعات الاختيار والقوائم المنسدلة وأزرار الراديو وحقول التوقيع وغيرها) مباشرة على معاينات الصفحات. اضبط خصائص الحقول، وأعدّ قواعد الظهور المشروط، وصدّر نموذج PDF تفاعليًا بالكامل.
## طريقة العمل
1. ارفع ملف PDF موجودًا **أو** انقر على **إنشاء PDF فارغ** للبدء من الصفر.
2. عند إنشاء PDF فارغ، اختر حجم الصفحة (Letter أو A4 أو A5 أو Legal أو Tabloid أو A3 أو أبعاد مخصصة).
3. يفتح محرر النماذج بشريط أدوات لأنواع الحقول ومنطقة معاينة الصفحة.
4. اختر نوع الحقل من شريط الأدوات، ثم انقر على الصفحة لوضعه.
5. اسحب الحقول لتغيير مواضعها. استخدم مقابض تغيير الحجم لضبط الأبعاد.
6. انقر على حقل لفتح لوحة الخصائص حيث يمكنك تعيين اسم الحقل والقيمة الافتراضية وحجم الخط والمحاذاة وغير ذلك.
7. تنقّل بين الصفحات باستخدام عناصر التحكم في الصفحات.
8. انقر على **حفظ** لتنزيل ملف PDF القابل للتعبئة الجاهز.
## الميزات
- وضع الحقول بالسحب والإفلات مع مقابض مرئية لتغيير الحجم
- أنواع الحقول: إدخال نص، نص متعدد الأسطر، مربع اختيار، قائمة منسدلة، زر راديو، توقيع، تاريخ، رقم، وباركود
- لوحة خصائص لضبط اسم كل حقل وتسميته وقيمته الافتراضية وحجم خطه ولونه ومحاذاته والتحقق من صحته
- إجراءات الحقول وقواعد الظهور المشروط (إظهار الحقول أو إخفاؤها بناءً على قيم حقول أخرى)
- التنقل بين الصفحات في النماذج متعددة الصفحات
- استخراج الحقول الموجودة: يكتشف حقول النماذج في ملفات PDF المرفوعة ويستوردها تلقائيًا
- دعم ملفات PDF المرفوعة والصفحات الفارغة كلوحة للنموذج
- عدة أحجام صفحات جاهزة بالإضافة إلى أبعاد مخصصة
- توليد الباركود بواسطة bwip-js
- إدارة مجموعات أزرار الراديو
## الخيارات
**أحجام الصفحات الجاهزة (لملفات PDF الفارغة):**
- Letter (8.5" x 11")
- A4 (210mm x 297mm)
- A5 (148mm x 210mm)
- Legal (8.5" x 14")
- Tabloid (11" x 17")
- A3 (297mm x 420mm)
- مخصص (حدّد العرض والارتفاع)
**خصائص الحقل (تختلف حسب نوع الحقل):**
- الاسم والتسمية والنص التوضيحي
- القيمة الافتراضية
- نوع الخط وحجمه ولونه
- محاذاة النص (يسار أو وسط أو يمين)
- مفتاح الحقل الإلزامي
- مفتاح القراءة فقط
- الحد الأقصى للطول في الحقول النصية
- قائمة الخيارات للقوائم المنسدلة وأزرار الراديو
- إجراءات الظهور المشروط
## حالات الاستخدام
- بناء نماذج تعريف الموظفين الجدد بحقول نصية للمعلومات الشخصية ومربعات اختيار للإقرار بالسياسات
- إنشاء استبيانات استقبال العملاء بقوائم منسدلة لاختيار الخدمة
- تصميم نماذج الطلبات بحقول محسوبة ومعرّفات باركود
- بناء قوائم فحص بأزرار راديو لتقييمات النجاح والفشل
- إنشاء نماذج استطلاعات بأسئلة متابعة مشروطة تظهر بحسب الإجابات
## نصائح
- إذا رفعت ملف PDF موجودًا، فستحاول الأداة استخراج أي حقول نماذج موجودة فيه، مما يتيح لك تعديلها أو الإضافة إليها.
- استخدم ميزة مجموعة أزرار الراديو لإنشاء اختيارات متنافية. الحقول في مجموعة الراديو نفسها تتشارك اسم المجموعة.
- اختبر نموذجك بتنزيله وفتحه في [ملء نماذج PDF](./form-filler) للتحقق من سلوك الحقول.
## أدوات ذات صلة
- [ملء نماذج PDF](./form-filler)
- [توقيع PDF](./sign-pdf)
- [محرر PDF](./edit-pdf)
+47
View File
@@ -0,0 +1,47 @@
---
title: ملء نماذج PDF
description: املأ نماذج PDF، بما فيها نماذج XFA، مباشرة في متصفحك باستخدام عارض مضمّن.
---
# ملء نماذج PDF
افتح ملف PDF يحتوي على حقول نماذج واملأه مباشرة في عارض مضمّن. تدعم الأداة حقول AcroForm القياسية ونماذج XFA (XML Forms Architecture) القديمة. بعد إكمال النموذج، نزّل النسخة المملوءة بنقرة واحدة.
## طريقة العمل
1. ارفع ملف PDF يحتوي على حقول نماذج.
2. يُفتح المستند في عارض PDF متكامل يعرض حقول النماذج كمدخلات تفاعلية.
3. انقر على الحقول النصية ومربعات الاختيار والقوائم المنسدلة وأزرار الراديو لملئها.
4. انقر على **حفظ وتنزيل النموذج المملوء** للحصول على ملف PDF المكتمل.
## الميزات
- عارض PDF.js مضمّن مع تفاعل كامل مع حقول النماذج
- دعم حقول AcroForm القياسية (حقول النص ومربعات الاختيار والقوائم المنسدلة وأزرار الراديو)
- دعم نماذج XFA للنماذج القديمة المبنية على XML
- ضبط حجم العارض تلقائيًا بحسب أبعاد الصفحة
- عرض الملف مع معلومات الاسم والحجم
## الخيارات
لا توجد خيارات إعداد إضافية. ارفع النموذج واملأه ثم نزّله.
## حالات الاستخدام
- إكمال النماذج الضريبية وطلبات التأمين والأوراق الحكومية
- ملء نماذج طلبات التوظيف المستلمة كمرفقات PDF
- إكمال نماذج تسجيل الموردين أو استبيانات الموردين
- المصادقة على قوائم الامتثال بحقول مربعات الاختيار
- ملء نماذج الاستقبال الطبية قبل الموعد
## نصائح
- نماذج XFA صيغة قديمة لا تدعمها إلا بعض عارضات PDF. إذا فتحت ملف XFA PDF في Chrome أو معظم الأدوات الأخرى ورأيت صفحات فارغة، فهذا يعني أن تلك العارضات لا تدعم XFA. يتعامل ملء نماذج PDF في BentoPDF وFirefox مع XFA بشكل صحيح.
- لملفات PDF التي لا تحتوي على حقول نماذج، استخدم أداة [إنشاء نموذج PDF](./form-creator) لإضافة الحقول أولًا، ثم املأها هنا.
- يضبط العارض حجمه تلقائيًا ليطابق أبعاد صفحة PDF.
## أدوات ذات صلة
- [إنشاء نموذج PDF](./form-creator)
- [توقيع PDF](./sign-pdf)
- [محرر PDF](./edit-pdf)
+53
View File
@@ -0,0 +1,53 @@
---
title: رأس وتذييل
description: أضف نصوص رأس وتذييل قابلة للتخصيص إلى صفحات PDF مع متغيرات ديناميكية لأرقام الصفحات.
---
# رأس وتذييل
أضف نصًا في ست مواضع على صفحات PDF: يسار الرأس ووسط الرأس ويمين الرأس ويسار التذييل ووسط التذييل ويمين التذييل. تدعم الأداة متغيرات ديناميكية لأرقام الصفحات وإجمالي عدد الصفحات، فيمكنك إنشاء قوالب مثل "صفحة 3 من 10" تتحدث تلقائيًا لكل صفحة.
## طريقة العمل
1. ارفع ملف PDF.
2. تظهر لوحة الخيارات مع عناصر التحكم في التنسيق وستة حقول إدخال نصية.
3. أدخل النص المطلوب في أي من مواضع الرأس والتذييل.
4. استخدم العنصرين النائبين `{page}` و`{total}` لترقيم الصفحات ديناميكيًا.
5. اضبط حجم الخط ولونه، ويمكنك اختياريًا الاقتصار على نطاق صفحات محدد.
6. انقر على **إضافة رأس وتذييل** للمعالجة والتنزيل.
## الخيارات
- **نطاق الصفحات**: يمكنك اختياريًا تحديد الصفحات التي تحصل على رأس وتذييل. اتركه فارغًا للتطبيق على كل الصفحات. الصيغة: "1-3, 5" (نطاقات مفصولة بفواصل).
- **حجم الخط**: بين 6 و24 نقطة. القيمة الافتراضية 10.
- **لون الخط**: اختر أي لون بمنتقي الألوان.
- **يسار / وسط / يمين الرأس**: حقول نصية لأعلى كل صفحة.
- **يسار / وسط / يمين التذييل**: حقول نصية لأسفل كل صفحة.
## الميزات
- ست مواضع نصية مستقلة لكل صفحة
- المتغير الديناميكي `{page}` الذي يُدرج رقم الصفحة الحالية
- المتغير الديناميكي `{total}` الذي يُدرج إجمالي عدد الصفحات
- تصفية نطاق الصفحات لاستهداف صفحات محددة
- حجم خط ولون قابلان للتخصيص
- خط Helvetica لمخرجات نظيفة واحترافية
## حالات الاستخدام
- إضافة "صفحة {page} من {total}" إلى وسط تذييل تقرير
- وضع اسم الشركة في يسار الرأس وتاريخ المستند في يمين الرأس
- إضافة إشعارات السرية إلى تذييل المستندات القانونية
- ختم أرقام مراجعات المستند على نطاقات صفحات محددة
## نصائح
- اجمع `{page}` و`{total}` في حقل واحد لتحصل على صيغ مثل "صفحة {page} من {total}" أو "{page}/{total}".
- يمكنك ترك معظم الحقول فارغة وملء المواضع التي تحتاجها فقط. الحقول الفارغة تُتجاهل ببساطة.
- للرؤوس الأكثر تعقيدًا التي تحتوي على صور أو شعارات، فكّر في استخدام أداة [إضافة علامة مائية](./add-watermark) موضوعة أعلى الصفحة.
## أدوات ذات صلة
- [أرقام الصفحات](./page-numbers)
- [إضافة علامة مائية](./add-watermark)
- [ترقيم بيتس](./bates-numbering)
+46
View File
@@ -0,0 +1,46 @@
---
title: HEIC إلى PDF
description: حوّل صور HEIC وHEIF من أجهزة iPhone وiPad إلى صيغة PDF مباشرة في متصفحك.
---
# HEIC إلى PDF
حوّل صور HEIC/HEIF إلى PDF. HEIC هي صيغة الصور الافتراضية على أجهزة iPhone وiPad منذ iOS 11. تتيح لك هذه الأداة تحويل تلك الصور إلى ملفات PDF دون تثبيت أي برنامج مكتبي ودون رفع الملفات إلى خادم.
## الصيغ المدعومة
| الصيغة | الامتدادات |
| :----- | :--------- |
| HEIC | `.heic` |
| HEIF | `.heif` |
## طريقة العمل
1. انقر على منطقة الرفع أو اسحب ملفات HEIC/HEIF وأفلتها.
2. راجع قائمة الملفات وأزل أي ملفات غير مرغوبة.
3. انقر على **تحويل إلى PDF**. تُنزَّل النتيجة باسم `from_heic.pdf`.
يُفك ترميز كل ملف HEIC باستخدام مكتبة heic2any التي تحوّله إلى PNG بجودة 92%. ثم تُضمَّن صورة PNG في ملف PDF باستخدام pdf-lib، مع وضع كل صورة في صفحة مستقلة بدقتها الكاملة.
## الخيارات
لا تعرض هذه الأداة إعدادات إضافية. تُحوَّل صور HEIC بجودة عالية (0.92) إلى PNG قبل التضمين.
## حالات الاستخدام
- إنشاء ملف PDF من صور iPhone لإرفاقه بمطالبة تأمين أو تقرير
- تحويل صور HEIC لإعلان عقاري إلى مستند واحد قابل للطباعة
- تحويل لقطات شاشة iPad (بصيغة HEIF) إلى PDF قابل للمشاركة
- تحويل صور الإجازة دفعة واحدة لمفكرة سفر
## نصائح
- يتم فك ترميز HEIC بالكامل داخل المتصفح باستخدام WebAssembly. قد يستغرق التحويل الأول لحظة ريثما يُحمَّل المفكّك.
- إذا كنت تحتاج إلى مزج HEIC مع صيغ صور أخرى (JPG وPNG وغيرها)، فاستخدم أداة [صور إلى PDF](./image-to-pdf) التي تتعامل مع HEIC إلى جانب كل الصيغ الأخرى.
- غالبًا ما تحتوي ملفات HEIC من iPhone على بيانات EXIF بما فيها إحداثيات GPS. لا ينقل ملف PDF الناتج هذه البيانات الوصفية.
## أدوات ذات صلة
- [صور إلى PDF](./image-to-pdf)
- [JPG إلى PDF](./jpg-to-pdf)
- [PNG إلى PDF](./png-to-pdf)
+65
View File
@@ -0,0 +1,65 @@
---
title: صور إلى PDF
description: حوّل صيغ JPG وPNG وBMP وGIF وTIFF وSVG وHEIC وWebP وPSD وأكثر من 10 صيغ صور أخرى إلى ملف PDF واحد.
---
# صور إلى PDF
المحوّل الشامل من الصور إلى PDF. ارفع صورًا بأي صيغة تقريبًا وادمجها في مستند PDF واحد. تحصل كل صورة على صفحتها الخاصة بحجم يطابق أبعادها الأصلية.
## الصيغ المدعومة
| الصيغة | الامتدادات |
| :-------------- | :------------------------------------- |
| JPEG | `.jpg`, `.jpeg` |
| JPEG 2000 | `.jp2`, `.jpx` |
| PNG | `.png` |
| BMP | `.bmp` |
| GIF | `.gif` |
| TIFF | `.tiff`, `.tif` |
| SVG | `.svg` |
| HEIC/HEIF | `.heic`, `.heif` |
| WebP | `.webp` |
| PSD | `.psd` |
| Portable Anymap | `.pnm`, `.pgm`, `.pbm`, `.ppm`, `.pam` |
| JPEG XR | `.jxr` |
هذا أوسع دعم للصيغ بين كل محوّلات الصور في BentoPDF. إذا كنت تحتاج صيغة محددة فقط، فاستخدم إحدى الأدوات المخصصة بدلًا من ذلك.
## طريقة العمل
1. انقر على منطقة الرفع أو اسحب ملفات الصور وأفلتها. يمكنك تحديد عدة ملفات دفعة واحدة.
2. راجع قائمة الملفات. أزل أي ملفات غير مرغوبة بأيقونة سلة المهملات، أو انقر على **إضافة المزيد من الملفات** لإضافة صور أخرى.
3. اختر مستوى **جودة PDF** من القائمة المنسدلة.
4. انقر على **تحويل إلى PDF**. تعالج الأداة الصور عبر محرك PyMuPDF وتنزّل النتيجة باسم `images_to_pdf.pdf`.
## الخيارات
تتحكم **جودة PDF** في ضغط الصور المطبَّق عند تضمينها في ملف PDF:
- **جودة عالية**: ضغط أدنى وحجم ملف أكبر. الأفضل للطباعة أو الأرشفة.
- **جودة متوسطة** (الافتراضي): ضغط متوازن. مناسبة لمعظم الأغراض.
- **جودة منخفضة**: ضغط قوي وأصغر حجم ملف. مناسبة للبريد الإلكتروني أو المشاركة السريعة.
تُحوَّل ملفات HEIC وWebP تلقائيًا إلى PNG قبل التضمين. يحدث ذلك بشفافية ولا يتطلب أي خطوات إضافية.
## حالات الاستخدام
- دمج إيصالات أو مستندات ممسوحة بكاميرا الهاتف في ملف PDF واحد
- إنشاء ملف أعمال أو كتيّب صور من صور بصيغ مختلطة
- تحويل صور iPhone (HEIC) إلى PDF قابل للمشاركة دون تثبيت برنامج مكتبي
- تجميع نماذج التصميم من ملفات PSD ولقطات الشاشة في مخرج جاهز للعميل
- أرشفة مجلد من صيغ الصور القديمة (PNM وJXR وJP2) كملف PDF واحد
## نصائح
- ترتيب الصور في ملف PDF يطابق ترتيبها في قائمة الملفات. ارفعها بالتسلسل الذي تريده.
- لأصغر حجم ممكن للملف، اختر الجودة المنخفضة. غالبًا ما يكون الفرق المرئي ضئيلًا في المسوحات الكثيفة بالنصوص.
- إذا كانت لديك صيغة صور واحدة فقط، فإن المحوّلات المخصصة (JPG إلى PDF وPNG إلى PDF وغيرها) تعطي النتيجة نفسها بواجهة أبسط.
## أدوات ذات صلة
- [JPG إلى PDF](./jpg-to-pdf)
- [PNG إلى PDF](./png-to-pdf)
- [HEIC إلى PDF](./heic-to-pdf)
- [WebP إلى PDF](./webp-to-pdf)
+183
View File
@@ -0,0 +1,183 @@
# مرجع الأدوات
يقدّم BentoPDF **أكثر من 130 أداة** للعمل مع ملفات PDF. تعمل كل الأدوات بالكامل في متصفحك: ملفاتك لا تغادر جهازك أبدًا.
---
## تحرير وتعليق
عدّل مستندات PDF وعلّق عليها وحسّنها بمجموعة كاملة من أدوات التحرير.
<div class="tool-grid">
- [**محرر PDF**](./edit-pdf): علّق على ملفات PDF وحدّد النص واحجب المعلومات وأضف تعليقات وأشكالًا وصورًا وابحث واعرضها.
- [**تعديل الإشارات المرجعية**](./bookmark): أضف إشارات PDF المرجعية وعدّلها واستوردها واحذفها واستخرجها.
- [**جدول المحتويات**](./table-of-contents): أنشئ صفحة جدول محتويات من إشارات PDF المرجعية.
- [**أرقام الصفحات**](./page-numbers): أدرج أرقام الصفحات في مستندك.
- [**إضافة تسميات الصفحات**](./add-page-labels): طبّق تسميات صفحات PDF بأرقام رومانية وبادئات وبدايات مخصصة.
- [**ترقيم بيتس**](./bates-numbering): أضف أرقام بيتس التسلسلية عبر ملف PDF واحد أو أكثر.
- [**إضافة علامة مائية**](./add-watermark): ضع نصًا أو صورة فوق صفحات PDF.
- [**رأس وتذييل**](./header-footer): أضف نصًا إلى أعلى الصفحات وأسفلها.
- [**عكس الألوان**](./invert-colors): أنشئ نسخة بالوضع الداكن من ملف PDF.
- [**تأثير الماسح الضوئي**](./scanner-effect): اجعل ملف PDF يبدو كمستند ممسوح ضوئيًا.
- [**ضبط الألوان**](./adjust-colors): اضبط السطوع والتباين والتشبع وغيرها بدقة.
- [**لون الخلفية**](./background-color): غيّر لون خلفية ملف PDF.
- [**تغيير لون النص**](./text-color): غيّر لون النص في ملف PDF.
- [**توقيع PDF**](./sign-pdf): ارسم توقيعك أو اكتبه أو ارفعه.
- [**إضافة أختام**](./add-stamps): أضف أختام صور إلى ملف PDF باستخدام شريط أدوات التعليقات.
- [**إزالة التعليقات**](./remove-annotations): أزل التعليقات والتحديدات والروابط.
- [**قص PDF**](./crop-pdf): قصّ هوامش كل صفحة في ملف PDF.
- [**ملء نماذج PDF**](./form-filler): املأ النماذج مباشرة في المتصفح. يدعم أيضًا نماذج XFA.
- [**إنشاء نموذج PDF**](./form-creator): أنشئ نماذج PDF قابلة للتعبئة بحقول نصية بالسحب والإفلات.
- [**إزالة الصفحات الفارغة**](./remove-blank-pages): اكتشف الصفحات الفارغة واحذفها تلقائيًا.
</div>
---
## التحويل إلى PDF
حوّل الصور والمستندات والكتب الإلكترونية وصيغ الملفات الأخرى إلى PDF.
<div class="tool-grid">
- [**صور إلى PDF**](./image-to-pdf): حوّل JPG وPNG وBMP وGIF وTIFF وSVG وHEIC وWebP وغيرها إلى PDF.
- [**JPG إلى PDF**](./jpg-to-pdf): أنشئ ملف PDF من صورة JPG واحدة أو أكثر.
- [**PNG إلى PDF**](./png-to-pdf): أنشئ ملف PDF من صورة PNG واحدة أو أكثر.
- [**WebP إلى PDF**](./webp-to-pdf): أنشئ ملف PDF من صورة WebP واحدة أو أكثر.
- [**SVG إلى PDF**](./svg-to-pdf): أنشئ ملف PDF من صورة SVG واحدة أو أكثر.
- [**BMP إلى PDF**](./bmp-to-pdf): أنشئ ملف PDF من صورة BMP واحدة أو أكثر.
- [**HEIC إلى PDF**](./heic-to-pdf): أنشئ ملف PDF من صورة HEIC واحدة أو أكثر.
- [**TIFF إلى PDF**](./tiff-to-pdf): أنشئ ملف PDF من صورة TIFF واحدة أو أكثر.
- [**نص إلى PDF**](./txt-to-pdf): حوّل ملفًا نصيًا عاديًا إلى PDF.
- [**Markdown إلى PDF**](./markdown-to-pdf): حوّل Markdown إلى PDF مع معاينة مباشرة وتمييز للصياغة.
- [**JSON إلى PDF**](./json-to-pdf): حوّل ملفات JSON إلى صيغة PDF.
- [**ODT إلى PDF**](./odt-to-pdf): حوّل ملفات ODT (OpenDocument Text) إلى PDF.
- [**CSV إلى PDF**](./csv-to-pdf): حوّل جداول CSV إلى PDF.
- [**RTF إلى PDF**](./rtf-to-pdf): حوّل مستندات RTF (Rich Text Format) إلى PDF.
- [**Word إلى PDF**](./word-to-pdf): حوّل مستندات Word (DOCX وDOC وODT) إلى PDF.
- [**Excel إلى PDF**](./excel-to-pdf): حوّل جداول Excel (XLSX وXLS وODS) إلى PDF.
- [**PowerPoint إلى PDF**](./powerpoint-to-pdf): حوّل عروض PowerPoint التقديمية (PPTX وPPT وODP) إلى PDF.
- [**XPS إلى PDF**](./xps-to-pdf): حوّل مستندات XPS/OXPS إلى PDF.
- [**MOBI إلى PDF**](./mobi-to-pdf): حوّل كتب MOBI الإلكترونية إلى PDF.
- [**EPUB إلى PDF**](./epub-to-pdf): حوّل كتب EPUB الإلكترونية إلى PDF.
- [**FB2 إلى PDF**](./fb2-to-pdf): حوّل كتب FictionBook (FB2) الإلكترونية إلى PDF.
- [**CBZ إلى PDF**](./cbz-to-pdf): حوّل أرشيفات الكتب المصورة (CBZ/CBR) إلى PDF.
- [**WPD إلى PDF**](./wpd-to-pdf): حوّل مستندات WordPerfect (WPD) إلى PDF.
- [**WPS إلى PDF**](./wps-to-pdf): حوّل مستندات WPS Office إلى PDF.
- [**XML إلى PDF**](./xml-to-pdf): حوّل مستندات XML إلى PDF.
- [**ODG إلى PDF**](./odg-to-pdf): حوّل OpenDocument Graphics (ODG) إلى PDF.
- [**ODS إلى PDF**](./ods-to-pdf): حوّل OpenDocument Spreadsheet (ODS) إلى PDF.
- [**ODP إلى PDF**](./odp-to-pdf): حوّل OpenDocument Presentation (ODP) إلى PDF.
- [**PUB إلى PDF**](./pub-to-pdf): حوّل Microsoft Publisher (PUB) إلى PDF.
- [**VSD إلى PDF**](./vsd-to-pdf): حوّل Microsoft Visio (VSD وVSDX) إلى PDF.
- [**PSD إلى PDF**](./psd-to-pdf): حوّل ملفات Adobe Photoshop (PSD) إلى PDF.
- [**بريد إلكتروني إلى PDF**](./email-to-pdf): حوّل ملفات البريد الإلكتروني (EML وMSG) إلى صيغة PDF.
</div>
---
## التحويل من PDF
استخرج المحتوى من ملفات PDF إلى صور ومستندات وصيغ بيانات.
<div class="tool-grid">
- [**PDF إلى JPG**](./pdf-to-jpg): حوّل كل صفحة PDF إلى صورة JPG.
- [**PDF إلى PNG**](./pdf-to-png): حوّل كل صفحة PDF إلى صورة PNG.
- [**PDF إلى WebP**](./pdf-to-webp): حوّل كل صفحة PDF إلى صورة WebP.
- [**PDF إلى BMP**](./pdf-to-bmp): حوّل كل صفحة PDF إلى صورة BMP.
- [**PDF إلى TIFF**](./pdf-to-tiff): حوّل كل صفحة PDF إلى صورة TIFF.
- [**PDF إلى CBZ**](./pdf-to-cbz): حوّل ملف PDF إلى CBZ (أرشيف كتب مصورة) لقارئات الكتب المصورة وCalibre.
- [**PDF إلى SVG**](./pdf-to-svg): حوّل كل صفحة PDF إلى رسم متجه قابل للتحجيم.
- [**PDF إلى CSV**](./pdf-to-csv): استخرج الجداول من PDF وحوّلها إلى صيغة CSV.
- [**PDF إلى Excel**](./pdf-to-excel): استخرج الجداول من PDF وحوّلها إلى Excel (XLSX).
- [**PDF إلى تدرج الرمادي**](./pdf-to-greyscale): حوّل كل الألوان إلى الأبيض والأسود.
- [**PDF إلى JSON**](./pdf-to-json): حوّل ملفات PDF إلى صيغة JSON.
- [**PDF إلى Word**](./pdf-to-word): حوّل ملفات PDF إلى مستندات Word قابلة للتحرير.
- [**استخراج الصور**](./extract-images): استخرج كل الصور المضمّنة من ملفات PDF.
- [**PDF إلى Markdown**](./pdf-to-markdown): حوّل نص PDF وجداوله إلى صيغة Markdown.
- [**تحضير PDF للذكاء الاصطناعي**](./prepare-pdf-for-ai): استخرج محتوى PDF بصيغة LlamaIndex JSON لمسارات RAG/LLM.
- [**PDF إلى نص**](./pdf-to-text): استخرج النص من ملفات PDF واحفظه كنص عادي.
- [**استخراج جداول PDF**](./extract-tables): استخرج الجداول من ملفات PDF بصيغة CSV أو JSON أو Markdown.
</div>
---
## التنظيم والإدارة
أعد ترتيب صفحات PDF وملفاتها وادمجها وقسّمها وأدرها.
<div class="tool-grid">
- [**منشئ سير عمل PDF**](./pdf-workflow): ابنِ مسارات معالجة PDF مخصصة بمحرر عُقد مرئي.
- [**أداة PDF المتعددة**](./pdf-multi-tool): محرر PDF متكامل مع إدارة الصفحات.
- [**التعرف الضوئي على PDF**](./ocr-pdf): اجعل ملف PDF قابلًا للبحث والنسخ.
- [**دمج PDF**](./merge-pdf): ادمج عدة ملفات PDF في ملف واحد.
- [**تبديل ومزج الصفحات**](./alternate-merge): ادمج ملفات PDF بتبديل الصفحات من كل ملف.
- [**ترتيب المسح على الوجهين**](./duplex-collate): أعد ترتيب كتل المسح الأمامي والخلفي إلى تسلسل الصفحات الصحيح.
- [**تكرار وتنظيم**](./organize-pdf): كرّر الصفحات وأعد ترتيبها واحذفها.
- [**إضافة مرفقات**](./add-attachments): ضمّن ملفًا واحدًا أو أكثر في ملف PDF.
- [**استخراج المرفقات**](./extract-attachments): استخرج كل الملفات المضمّنة من ملفات PDF في ملف ZIP.
- [**تعديل المرفقات**](./edit-attachments): اعرض المرفقات في ملف PDF أو أزلها.
- [**طبقات PDF OCG**](./pdf-layers): اعرض طبقات OCG في ملف PDF وبدّلها وأضفها واحذفها.
- [**تقسيم PDF**](./split-pdf): استخرج نطاقًا من الصفحات إلى ملف PDF جديد.
- [**تقسيم الصفحات**](./divide-pages): قسّم الصفحات أفقيًا أو رأسيًا.
- [**استخراج الصفحات**](./extract-pages): احفظ مجموعة من الصفحات كملفات جديدة.
- [**حذف الصفحات**](./delete-pages): أزل صفحات محددة من مستندك.
- [**إضافة صفحة فارغة**](./add-blank-page): أدرج صفحة فارغة في أي مكان من ملف PDF.
- [**عكس الصفحات**](./reverse-pages): اعكس ترتيب كل صفحات مستندك.
- [**تدوير PDF**](./rotate-pdf): دوّر الصفحات بزيادات 90 درجة.
- [**تدوير بزاوية مخصصة**](./rotate-custom): دوّر الصفحات بأي زاوية مخصصة.
- [**N-Up PDF**](./n-up-pdf): رتّب عدة صفحات على ورقة واحدة.
- [**كتيّب PDF**](./pdf-booklet): أعد ترتيب الصفحات لطباعة كتيّب على الوجهين.
- [**دمج في صفحة واحدة**](./combine-single-page): اجمع كل الصفحات في شريط تمرير متصل واحد.
- [**عرض البيانات الوصفية**](./view-metadata): افحص الخصائص المخفية في ملف PDF.
- [**تعديل البيانات الوصفية**](./edit-metadata): غيّر المؤلف والعنوان وخصائص أخرى.
- [**PDF إلى ZIP**](./pdf-to-zip): ضع عدة ملفات PDF في أرشيف ZIP.
- [**مقارنة ملفات PDF**](./compare-pdfs): قارن ملفي PDF جنبًا إلى جنب.
- [**تقسيم PDF إلى ملصقات**](./posterize-pdf): قسّم صفحة كبيرة إلى عدة صفحات أصغر.
</div>
---
## التحسين والإصلاح
اضغط ملفات PDF وأصلحها وحسّنها لأداء وتوافق أفضل.
<div class="tool-grid">
- [**ضغط PDF**](./compress-pdf): قلّل حجم ملف PDF.
- [**PDF إلى PDF/A**](./pdf-to-pdfa): حوّل PDF إلى PDF/A للأرشفة طويلة الأمد.
- [**توحيد حجم الصفحة**](./fix-page-size): وحّد كل الصفحات إلى حجم موحد.
- [**تحسين PDF للويب**](./linearize-pdf): حسّن PDF للعرض السريع على الويب.
- [**أبعاد الصفحة**](./page-dimensions): حلّل حجم الصفحة واتجاهها ووحداتها.
- [**إزالة القيود**](./remove-restrictions): أزل حماية كلمة المرور وقيود الأمان.
- [**إصلاح PDF**](./repair-pdf): استرجع البيانات من ملفات PDF التالفة أو المعطوبة.
- [**تحويل PDF إلى صور نقطية**](./rasterize-pdf): حوّل PDF إلى PDF مبني على الصور. سطّح الطبقات وأزل النص القابل للتحديد.
- [**تصحيح انحراف PDF**](./deskew-pdf): قوّم الصفحات الممسوحة المائلة تلقائيًا باستخدام OpenCV.
- [**تحويل الخطوط إلى مخططات**](./font-to-outline): حوّل كل الخطوط إلى مخططات متجهة لعرض متسق.
</div>
---
## تأمين PDF
احمِ مستندات PDF وشفّرها وتحكم في الوصول إليها.
<div class="tool-grid">
- [**تشفير PDF**](./protect-pdf): اقفل ملف PDF بإضافة كلمة مرور.
- [**تنظيف PDF**](./sanitize-pdf): أزل البيانات الوصفية والتعليقات والبرامج النصية وغيرها.
- [**فك تشفير PDF**](./unlock-pdf): افتح قفل PDF بإزالة حماية كلمة المرور.
- [**تسطيح PDF**](./flatten-pdf): اجعل حقول النماذج والتعليقات غير قابلة للتحرير.
- [**إزالة البيانات الوصفية**](./remove-metadata): أزل البيانات المخفية من ملف PDF.
- [**تغيير الأذونات**](./change-permissions): عيّن أذونات المستخدم على ملف PDF أو غيّرها.
- [**توقيع رقمي لـ PDF**](./digital-sign-pdf): أضف توقيعًا رقميًا مشفّرًا باستخدام شهادات X.509.
- [**التحقق من توقيع PDF**](./validate-signature-pdf): تحقق من التوقيعات الرقمية واعرض تفاصيل الشهادة.
</div>
+42
View File
@@ -0,0 +1,42 @@
---
title: عكس الألوان
description: اعكس كل الألوان في ملف PDF لإنشاء نسخة بالوضع الداكن من أي مستند.
---
# عكس الألوان
اقلب كل لون في ملف PDF إلى عكسه. تتحول الخلفيات البيضاء إلى سوداء، والنص الأسود إلى أبيض، وتنتقل كل الألوان الأخرى إلى قيمها المتممة. هذه أسرع طريقة لإنشاء نسخة "وضع داكن" من أي ملف PDF.
## طريقة العمل
1. ارفع ملف PDF.
2. انقر على **عكس الألوان** للمعالجة.
3. يُنزَّل ملف PDF المعكوس تلقائيًا.
لا توجد إعدادات إضافية. تعرض الأداة كل صفحة كصورة، وتعكس ألوان كل البكسلات، ثم تعيد تجميع النتيجة في ملف PDF جديد.
## الميزات
- عكس الألوان بنقرة واحدة لكل الصفحات
- معالجة كل صفحة في المستند
- الحفاظ على أبعاد الصفحة وتخطيطها الأصليين
- يعمل مع أي ملف PDF بغض النظر عن نوع المحتوى (نص أو صور أو مختلط)
## حالات الاستخدام
- إنشاء نسخ بالوضع الداكن من الكتب الدراسية أو الأدلة لقراءة مريحة ليلًا
- تجهيز نسخ عالية التباين من المستندات لأغراض إمكانية الوصول
- عكس المستندات الممسوحة التي التُقطت بتعريض ضوئي غير صحيح
- إنشاء نسخ سالبة من ملفات PDF الكثيفة بالصور للتحليل البصري
## نصائح
- بما أن الأداة تحوّل الصفحات إلى صور نقطية لتطبيق التأثير، فإن الناتج مبني على الصور. لن يكون النص قابلًا للتحديد أو البحث. إذا كنت تحتاج نصًا قابلًا للبحث بعد العكس، فمرّر الناتج عبر أداة OCR.
- لضبط أدق للألوان (السطوع والتباين والتشبع)، استخدم أداة [ضبط الألوان](./adjust-colors) بدلًا من ذلك.
- قد تستغرق ملفات PDF الكبيرة ذات الصفحات الكثيرة وقتًا أطول لأن كل صفحة تُعرض وتُعكس على حدة.
## أدوات ذات صلة
- [ضبط الألوان](./adjust-colors)
- [لون الخلفية](./background-color)
- [تأثير الماسح الضوئي](./scanner-effect)
+48
View File
@@ -0,0 +1,48 @@
---
title: JPG إلى PDF
description: حوّل صورة JPG أو JPEG أو JPEG 2000 واحدة أو أكثر إلى ملف PDF واحد مباشرة في متصفحك.
---
# JPG إلى PDF
حوّل صور JPG إلى ملف PDF نظيف. ارفع ملفًا واحدًا أو عدة ملفات JPG معًا، وستصبح كل صورة صفحة كاملة الحجم في المستند الناتج.
## الصيغ المدعومة
| الصيغة | الامتدادات |
| :-------- | :-------------- |
| JPEG | `.jpg`, `.jpeg` |
| JPEG 2000 | `.jp2`, `.jpx` |
## طريقة العمل
1. انقر على منطقة الرفع أو اسحب ملفات JPG وأفلتها. التحديد المتعدد مدعوم.
2. راجع الملفات المرفوعة. استخدم أيقونة سلة المهملات لإزالة ملف بعينه، أو انقر على **إضافة المزيد من الملفات** للإلحاق بالقائمة.
3. اختر مستوى **جودة PDF**.
4. انقر على **تحويل إلى PDF**. تضغط الأداة الصور وفق إعداد الجودة، وتحوّلها عبر محرك PyMuPDF، وتنزّل `from_jpgs.pdf`.
## الخيارات
تضبط **جودة PDF** الضغط المطبَّق على كل صورة قبل تضمينها في ملف PDF:
- **جودة عالية**: تحافظ على أقصى قدر من التفاصيل. استخدمها للتصوير أو الطباعة.
- **جودة متوسطة** (الافتراضي): توازن جيد بين الوضوح وحجم الملف.
- **جودة منخفضة**: ضغط قوي لأصغر ناتج.
## حالات الاستخدام
- تحويل المستندات الممسوحة المحفوظة بصيغة JPG إلى ملف PDF واحد للتقديم
- تجميع صور المنتجات في كتالوج للعملاء
- تحويل صور JPEG 2000 الطبية أو الفضائية إلى PDF قابل للنقل
- إنشاء ألبوم صور قابل للطباعة من صور الكاميرا
## نصائح
- ملفات JPEG 2000 (`.jp2` و`.jpx`) مدعومة بالكامل وليس JPEG القياسي فقط. وهذا مفيد للتصوير الطبي والبيانات الجيومكانية.
- إذا كانت صور JPG من كاميرا هاتف، فإن الجودة المتوسطة تنتج عادةً ملفًا أصغر بنسبة 40-60% من العالية دون فرق مرئي على الشاشة.
## أدوات ذات صلة
- [صور إلى PDF](./image-to-pdf)
- [PNG إلى PDF](./png-to-pdf)
- [WebP إلى PDF](./webp-to-pdf)
+53
View File
@@ -0,0 +1,53 @@
---
title: JSON إلى PDF
description: أعد بناء ملفات PDF من صيغة JSON الخاصة بـ BentoPDF. حوّل ملفات JSON المصدّرة إلى مستندات PDF الأصلية.
---
# JSON إلى PDF
أعد بناء مستندات PDF من ملفات JSON أُنشئت سابقًا بأداة **PDF إلى JSON** في BentoPDF. هذه أداة تحويل ذهابًا وإيابًا: تأخذ التمثيل المنظَّم لملف PDF بصيغة JSON وتعيد بناء المستند الأصلي.
::: warning
تقبل هذه الأداة فقط ملفات JSON التي أنتجها محوّل PDF إلى JSON في BentoPDF. ملفات JSON القياسية من واجهات API أو قواعد البيانات أو أدوات أخرى غير مدعومة.
:::
## الصيغ المدعومة
| المدخل | الوصف |
| :------ | :------------------------------------------------- |
| `.json` | ملفات JSON المصدّرة بأداة PDF إلى JSON في BentoPDF |
## طريقة العمل
1. انقر على منطقة الرفع أو اسحب ملف JSON واحدًا أو أكثر وأفلته.
2. تعرض قائمة الملفات كل ملف محدد مع حجمه.
3. انقر على **تحويل إلى PDF**. تعالج الأداة كل الملفات باستخدام Web Worker ومحرك CPDF.
4. يُنزَّل الناتج باسم `jsons-to-pdf.zip` ويحتوي على ملف PDF واحد لكل ملف JSON مُدخَل.
يعمل التحويل في Web Worker في الخلفية، لذا تبقى الواجهة سريعة الاستجابة حتى مع الملفات الكبيرة.
## الخيارات
لا تحتوي هذه الأداة على خيارات قابلة للضبط. بنية JSON تحدد ملف PDF الناتج بالكامل.
## المخرجات
عند تحويل عدة ملفات JSON، تُسلَّم النتائج كأرشيف ZIP. يُسمّى كل ملف PDF باسم ملف JSON المصدر (مثلًا يصبح `report.json` هو `report.pdf`).
## حالات الاستخدام
- استعادة ملفات PDF من نسخة احتياطية أو مسار أرشفة مبني على JSON
- تمرير ملف PDF عبر JSON للفحص ثم إعادته إلى PDF
- إعادة بناء المستندات بعد تعديلات برمجية على بنية JSON
- التحقق من أن تصدير PDF إلى JSON التقط كل محتوى المستند بتحويله عائدًا
## نصائح
- إذا كنت تحتاج إلى تحويل بيانات JSON عشوائية (مثل استجابات API أو ملفات الإعدادات) إلى PDF منسّق، فأداة [نص إلى PDF](./txt-to-pdf) أنسب. الصق JSON كنص وسيُعرض بتنسيق مناسب.
- يجب أن يكون محرك CPDF WebAssembly متاحًا لتعمل هذه الأداة. تحتاج النسخ المستضافة ذاتيًا إلى ضبط ملفات CPDF WASM.
## أدوات ذات صلة
- [نص إلى PDF](./txt-to-pdf)
- [Markdown إلى PDF](./markdown-to-pdf)
- [CSV إلى PDF](./csv-to-pdf)
+49
View File
@@ -0,0 +1,49 @@
---
title: تحسين PDF للويب
description: حسّن ملفات PDF للعرض السريع على الويب بالتحميل التدريجي. يُعرف أيضًا بتحسين "Fast Web View".
---
# تحسين PDF للويب
يعيد التحسين للويب (Linearization) هيكلة ملف PDF بحيث يمكن عرض الصفحة الأولى قبل اكتمال تنزيل الملف بأكمله. تسمي Adobe هذا "Fast Web View". إذا كنت تستضيف ملفات PDF على موقع ويب أو تقدمها عبر بوابة مستندات، فإن هذا التحسين يجعل فتحها أسرع بشكل ملحوظ.
## طريقة العمل
1. ارفع ملف PDF واحدًا أو أكثر.
2. انقر على **تحسين PDF**.
3. نزّل النتائج كأرشيف ZIP يحتوي على كل الملفات المحسَّنة.
لا توجد إعدادات لضبطها. تستخدم الأداة الخيار `--linearize` من QPDF، الذي يعيد ترتيب البنية الداخلية لملف PDF دون تغيير محتواه المرئي.
## ماذا يفعل التحسين للويب
- يعيد ترتيب كائنات PDF بحيث تظهر بيانات الصفحة الأولى في بداية الملف
- يضيف قاموس التحسين وجداول التلميحات لتعرف العارضات مكان كل صفحة
- يتيح طلبات نطاق البايتات: يمكن للمتصفح جلب الصفحة الأولى فقط دون تنزيل الملف كله
- ينظّف جدول المراجع المتقاطعة للوصول العشوائي الفعّال
## الميزات
- معالجة دفعية لعدة ملفات PDF في عملية واحدة
- يحافظ الناتج على كل المحتوى والخطوط والصور والعناصر التفاعلية
- يستخدم QPDF (WebAssembly) لتحسين موثوق ومتوافق مع المعايير
- تُجمَّع النتائج في ZIP لتنزيل سهل
## حالات الاستخدام
- استضافة تقارير PDF على موقع ويب حيث يتوقع المستخدمون عرضًا فوريًا للصفحة
- تضمين ملفات PDF في تطبيقات الويب ذات العارضات داخل المتصفح
- نشر كتالوجات أو أدلة PDF يُوصل إليها عبر اتصالات جوال بطيئة
- تجهيز المستندات لشبكات توصيل المحتوى (CDN) التي تدعم تقديم نطاقات البايتات
## نصائح
- حسّن للويب بعد الانتهاء من كل التعديلات الأخرى. أي تعديل لاحق (دمج أو إضافة صفحات) سيُبطل التحسين.
- اجمعه مع ضغط PDF لأصغر ملفات PDF وأسرعها تحميلًا.
- يضيف التحسين قدرًا صغيرًا إلى حجم الملف (عادةً أقل من 1%).
## أدوات ذات صلة
- [ضغط PDF](./compress-pdf): قلّل حجم الملف قبل التحسين
- [إصلاح PDF](./repair-pdf): أصلح المشكلات البنيوية التي تمنع التحسين
- [إزالة البيانات الوصفية](./remove-metadata): أزل البيانات الوصفية قبل النشر على الإنترنت
+59
View File
@@ -0,0 +1,59 @@
---
title: Markdown إلى PDF
description: اكتب Markdown أو الصقه وصدّره كملف PDF منسّق باحترافية مع معاينة مباشرة وتمييز للصياغة.
---
# Markdown إلى PDF
محرر Markdown متكامل مع معاينة مباشرة وتصدير PDF بنقرة واحدة. اكتب من الصفر، أو ارفع ملف `.md` موجودًا، أو الصق المحتوى من الحافظة. يعرض المحرر Markdown في الوقت الفعلي ويصدّر ملف PDF منسقًا باستخدام محرك الطباعة المدمج في المتصفح.
## الصيغ المدعومة
| المدخل | الوصف |
| :---------- | :--------------------- |
| ملفات `.md` | ارفعها عبر زر الرفع |
| إدخال مباشر | اكتب أو الصق في المحرر |
## طريقة العمل
1. افتح أداة Markdown إلى PDF. يُحمَّل المحرر بعرض مقسوم: مصدر Markdown على اليسار والمعاينة المعروضة على اليمين.
2. اكتب Markdown أو الصقه، أو انقر على **رفع** لتحميل ملف `.md`.
3. بدّل بين السمتين الفاتحة والداكنة بمنزلق السمة في شريط الأدوات.
4. انقر على **تصدير PDF** (أو اضغط `Ctrl/Cmd + S`) لإنشاء ملف PDF عبر مربع حوار الطباعة في المتصفح.
## الميزات
يدعم المحرر مجموعة واسعة من ميزات Markdown تتجاوز الأساسيات:
- **Markdown القياسي**: العناوين والخط الغامق والمائل والروابط والصور والقوائم والاقتباسات والخطوط الأفقية
- **كتل الأكواد** مع تمييز الصياغة لأكثر من 15 لغة (JavaScript وTypeScript وPython وGo وRust وSQL وJava وC# وC++ وYAML وBash وغيرها)
- **مخططات Mermaid**: تُعرض المخططات الانسيابية ومخططات التسلسل ومخططات ER وأنواع مخططات Mermaid الأخرى مباشرة في المعاينة
- **الجداول** بصياغة جداول Markdown القياسية
- **قوائم المهام** مع مربعات اختيار
- **الحواشي السفلية** و**النص المنخفض** و**النص المرتفع**
- **قوائم التعريفات** و**الاختصارات**
- دعم **الرموز التعبيرية** (يُعرض `:smile:` كرمز تعبيري)
- **التمييز** (`==marked text==`) و**الإدراج** (`++inserted text++`)
- **الروابط التلقائية**: تُحوَّل عناوين URL العادية إلى روابط قابلة للنقر
- إنشاء **جدول المحتويات**
- **روابط الارتساء** على العناوين
## حالات الاستخدام
- كتابة وثائق المشاريع وتصدير ملف PDF أنيق لأصحاب المصلحة
- إنشاء تقارير تقنية بنماذج أكواد ومخططات معمارية بـ Mermaid
- تحويل README من GitHub إلى PDF للاستخدام دون اتصال أو للطباعة
- صياغة مقترح أو مواصفة مع قوائم مهام وجداول
- إنشاء نشرة منسقة من ملاحظات محاضرة مكتوبة بـ Markdown
## نصائح
- يستخدم ناتج PDF وظيفة الطباعة إلى PDF في المتصفح. في Chrome، يمكنك تخصيص الهوامش والمقياس في مربع حوار الطباعة قبل الحفظ.
- تُعرض مخططات Mermaid في المعاينة لكنها قد تحتاج لحظة للتهيئة عند أول استخدام.
- استخدم `Ctrl/Cmd + S` كاختصار لوحة مفاتيح للتصدير دون الحاجة إلى الزر.
## أدوات ذات صلة
- [نص إلى PDF](./txt-to-pdf)
- [Word إلى PDF](./word-to-pdf)
- [JSON إلى PDF](./json-to-pdf)
+54
View File
@@ -0,0 +1,54 @@
---
title: دمج PDF
description: ادمج عدة ملفات PDF في مستند واحد مع إعادة ترتيب بالسحب والإفلات وتحكم على مستوى الصفحات.
---
# دمج PDF
ادمج عدة ملفات PDF في مستند واحد. يمكنك دمج ملفات كاملة بترتيب محدد، أو التبديل إلى وضع الصفحات للتحكم الدقيق في كل صفحة من كل ملف PDF مرفوع.
## طريقة العمل
1. ارفع ملفَّي PDF أو أكثر بالنقر على منطقة الإفلات أو سحبها إليها.
2. اختر بين **وضع الملفات** و**وضع الصفحات** باستخدام المفتاح في الأعلى.
3. في وضع الملفات، اسحب الملفات لإعادة ترتيبها وحدّد اختياريًا نطاقات الصفحات (مثل `1-3, 5`) لكل ملف. اترك النطاق فارغًا لتضمين كل الصفحات.
4. في وضع الصفحات، اسحب صور الصفحات المصغرة وأفلتها لبناء تسلسل الصفحات الدقيق.
5. انقر على **دمج ملفات PDF** لدمج كل شيء في ملف واحد. يُنزَّل ملف PDF المدموج تلقائيًا.
## الميزات
- وضعا دمج: وضع الملفات للدمج السريع للملفات كاملة، ووضع الصفحات للتحكم في كل صفحة
- إعادة ترتيب بالسحب والإفلات في كلا الوضعين مع حركات سلسة
- صياغة نطاق الصفحات (مثل `1-3, 5, 8-10`) تتيح لك انتقاء الصفحات دون التبديل إلى وضع الصفحات
- الصور المصغرة للصفحات تُحمَّل عند الحاجة لتبقى الواجهة سريعة الاستجابة حتى مع المستندات الكبيرة
- لا حد لعدد الملفات أو إجمالي عدد الصفحات
- يحافظ على جودة PDF الأصلية دون إعادة ترميز
## الخيارات
| الخيار | الوصف |
| --------------- | ----------------------------------------------------------------------- |
| **وضع الملفات** | ادمج ملفات كاملة بترتيب مخصص، مع مرشحات اختيارية لنطاق الصفحات لكل ملف |
| **وضع الصفحات** | شبكة مرئية بكل صفحات كل الملفات: اسحب الصور المصغرة لبناء تسلسلك الدقيق |
| **حقل الصفحات** | حقل نصي لكل ملف يقبل نطاقات مثل `1-3, 5` لتضمين صفحات محددة فقط |
## حالات الاستخدام
- دمج ملفات PDF منفصلة للفصول في كتاب أو تقرير واحد
- دمج خطاب التغطية والسيرة الذاتية في مستند تقديم واحد
- سحب صفحات محددة من عدة مستندات مصدر إلى ملف موحّد
- تجميع الإيصالات أو الفواتير الممسوحة في ملف PDF أرشيفي واحد
- إنشاء نشرة عرض تقديمي من شرائح عدة عروض
## نصائح
- استخدم وضع الصفحات عندما تحتاج إلى تداخل الصفحات من ملفات مختلفة بدلًا من إلحاق ملف بعد آخر.
- يمكنك إضافة ملفات أخرى بعد الرفع الأولي بزر **إضافة المزيد من الملفات** دون فقدان ترتيبك الحالي.
- تبدأ نطاقات الصفحات من 1، لذا يشير `1` إلى الصفحة الأولى من ذلك الملف.
## أدوات ذات صلة
- [تقسيم PDF](./split-pdf)
- [تكرار وتنظيم](./organize-pdf)
- [تبديل ومزج الصفحات](./alternate-merge)
- [حذف الصفحات](./delete-pages)
+43
View File
@@ -0,0 +1,43 @@
---
title: MOBI إلى PDF
description: حوّل ملفات الكتب الإلكترونية MOBI إلى PDF مباشرة في متصفحك. مجاني وخاص ودون رفع ملفات.
---
# MOBI إلى PDF
حوّل كتب Amazon Kindle الإلكترونية بصيغة MOBI إلى مستندات PDF. ملفات MOBI مرتبطة بأجهزة Kindle وتطبيقاتها، مما يصعّب قراءتها في أماكن أخرى. يمنحك التحويل إلى PDF نسخة محمولة يمكنك فتحها على أي جهاز أو طباعتها.
## الصيغ المدعومة
| الصيغة | الامتداد | ملاحظات |
| :----- | :------- | :--------------------------------------- |
| MOBI | `.mobi` | صيغة كتب Kindle الإلكترونية (Mobipocket) |
## طريقة العمل
1. انقر على منطقة الرفع أو اسحب ملف MOBI واحدًا أو أكثر وأفلته.
2. راجع قائمة الملفات. أزل الملفات غير المرغوبة بأيقونة سلة المهملات، أو استخدم **إضافة المزيد من الملفات** لإضافة كتب أخرى.
3. انقر على **تحويل إلى PDF**. يحلّل محرك PyMuPDF بنية MOBI ويعرض كل صفحة كمحتوى PDF.
4. يُنزَّل الملف الواحد كـ PDF. وعند تحويل عدة ملفات تحصل على أرشيف ZIP باسم `mobi-converted.zip`.
## الخيارات
لا حاجة إلى إعدادات إضافية. يحافظ التحويل على المحتوى النصي والتنسيق والصور المضمّنة من ملف MOBI الأصلي.
## حالات الاستخدام
- قراءة المحتوى المشترى من Kindle على قارئ إلكتروني غير Kindle يدعم PDF فقط
- طباعة فصول من كتاب إلكتروني للدراسة أو التعليق دون اتصال
- أرشفة مكتبتك الشخصية من الكتب الإلكترونية بصيغة عالمية
- مشاركة مقتطفات مع شخص لم يثبّت تطبيق Kindle
## نصائح
- لا يمكن تحويل ملفات MOBI المحمية بـ DRM. تعمل الأداة مع ملفات MOBI الخالية من DRM فقط.
- قد تستغرق الكتب الكبيرة ذات الصور المضمّنة الكثيرة بضع ثوانٍ إضافية للمعالجة لأن كل شيء يحدث داخل المتصفح.
## أدوات ذات صلة
- [EPUB إلى PDF](./epub-to-pdf)
- [FB2 إلى PDF](./fb2-to-pdf)
- [CBZ إلى PDF](./cbz-to-pdf)
+54
View File
@@ -0,0 +1,54 @@
---
title: N-Up PDF
description: رتّب عدة صفحات PDF على ورقة واحدة بتخطيط شبكي لطباعة مضغوطة.
---
# N-Up PDF
ضع عدة صفحات على ورقة واحدة بترتيب شبكي. يقلل هذا عدد الصفحات المطبوعة بوضع 2 أو 4 أو 6 أو 8 أو 9 أو 16 صفحة في الورقة الواحدة. تتولى الأداة التحجيم وتحديد المواضع وضبط حجم الصفحة اختياريًا.
## طريقة العمل
1. ارفع ملف PDF.
2. اختر عدد الصفحات في الورقة (قيمة "N"): 2 أو 4 أو 6 أو 8 أو 9 أو 16.
3. اختر حجم صفحة الناتج (الافتراضي A4) واتجاهها.
4. يمكنك اختياريًا ضبط التباعد ولون الحدود ولون الخلفية.
5. انقر على زر المعالجة. تحجّم الأداة كل صفحة وترصفها على أوراق جديدة.
## الميزات
- تخطيطات شبكية: 2 و4 و6 و8 و9 و16 صفحة في الورقة
- حجم صفحة الناتج واتجاهها قابلان للضبط
- تباعد اختياري بين الصفحات المرصوفة
- إعدادات لون الخلفية والحدود
- يحافظ على نسبة أبعاد الصفحات الأصلية أثناء التحجيم للملاءمة
## الخيارات
| الخيار | الوصف |
| --------------------- | ------------------------------------------------------------------ |
| **الصفحات في الورقة** | عدد الصفحات الأصلية في كل صفحة ناتجة (2 أو 4 أو 6 أو 8 أو 9 أو 16) |
| **حجم الصفحة** | حجم ورقة الناتج (A4 وLetter وLegal وغيرها) |
| **الاتجاه** | عمودي أو أفقي لورقة الناتج |
| **التباعد** | الفجوة بالنقاط بين الصفحات المرصوفة |
| **لون الخلفية** | لون تعبئة خلفية ورقة الناتج |
| **لون الحدود** | لون الحدود حول كل صفحة مرصوفة |
## حالات الاستخدام
- طباعة نشرات بأربع شرائح في الصفحة لتوفير الورق
- إنشاء أوراق مذاكرة بعدة صفحات مرجعية في ورقة واحدة
- إنتاج أرشيفات مستندات مضغوطة للحفظ
- إنشاء أوراق نظرة عامة مصغرة لمستند طويل
## نصائح
- غالبًا ما يعمل الاتجاه الأفقي بشكل أفضل مع تخطيط 2 في الورقة، بينما يكون العمودي الأفضل عادةً لـ 4 وما فوق.
- زيادة التباعد تحسّن القراءة لكنها تقلل المساحة المتاحة لكل صفحة مرصوفة.
- للعملية العكسية (تقسيم صفحة واحدة إلى عدة صفحات)، راجع [تقسيم PDF إلى ملصقات](./posterize-pdf).
## أدوات ذات صلة
- [تقسيم PDF إلى ملصقات](./posterize-pdf)
- [كتيّب PDF](./pdf-booklet)
- [دمج في صفحة واحدة](./combine-single-page)
+54
View File
@@ -0,0 +1,54 @@
---
title: التعرف الضوئي على PDF
description: اجعل ملفات PDF الممسوحة قابلة للبحث والنسخ باستخدام Tesseract OCR مع دعم لغات متعددة وتصفية الأحرف.
---
# التعرف الضوئي على PDF
حوّل المستندات الممسوحة إلى ملفات PDF قابلة للبحث والنسخ. تستخدم الأداة Tesseract OCR للتعرف على النص في الصور وتضع طبقة نصية غير مرئية فوق الصفحات الأصلية، مما يحافظ على مظهرها المرئي ويجعل المحتوى قابلًا للبحث بالكامل.
## طريقة العمل
1. ارفع ملف PDF ممسوحًا ضوئيًا أو مبنيًا على الصور.
2. اختر لغة واحدة أو أكثر موجودة في المستند من قائمة اللغات القابلة للبحث.
3. اضبط الإعدادات المتقدمة اختياريًا (الدقة والتحويل الثنائي والقائمة البيضاء).
4. انقر على **بدء OCR** وتابع التقدم في شريط التقدم المباشر.
5. عند الانتهاء، راجع النص المستخرج، ثم نزّل ملف PDF القابل للبحث أو ملف `.txt` نصيًا عاديًا.
## الميزات
- OCR متعدد اللغات مع محدد لغات قابل للبحث
- الطبقة النصية غير المرئية تحافظ على مظهر المستند الأصلي
- شريط تقدم مباشر وسجل مخرجات أثناء المعالجة
- نزّل النتائج كملف PDF قابل للبحث أو ملف نصي عادي
- انسخ النص المستخرج مباشرة إلى الحافظة
- ثلاثة مستويات دقة للموازنة بين السرعة والدقة
## الخيارات
| الإعداد | القيم | الافتراضي | الغرض |
| -------------------------------- | ----------------------------------------------------------------------- | --------- | ------------------------------------------------------------------ |
| **الدقة** | قياسية (192 DPI)، عالية (288 DPI)، فائقة (384 DPI) | عالية | الدقة الأعلى تحسّن الدقة في النصوص الصغيرة لكنها تستغرق وقتًا أطول |
| **تحويل الصورة إلى ثنائية** | تشغيل / إيقاف | إيقاف | يعزز التباين للمسوحات النظيفة بتحويلها إلى أبيض وأسود |
| **إعداد القائمة البيضاء للأحرف** | بلا، أبجدي رقمي، أرقام وعملات، حروف فقط، أرقام فقط، فاتورة، نماذج، مخصص | بلا | يحصر الأحرف المتعرَّف عليها لتحسين الدقة لأنواع مستندات معينة |
| **القائمة البيضاء للأحرف** | نص حر | فارغ | مجموعة أحرف يدوية عند ضبط الإعداد المسبق على مخصص |
## حالات الاستخدام
- جعل العقود والفواتير الممسوحة قابلة للبحث بحيث يمكنك استخدام Ctrl+F فيها
- استخراج النص من المستندات المصوَّرة أو السجلات الورقية القديمة
- معالجة الإيصالات بإعداد الفاتورة لالتقاط المبالغ والتواريخ بدقة
- إنشاء ملفات PDF يسهل الوصول إليها من مسوحات الصور فقط لمتطلبات الامتثال
- استخراج المحتوى النصي دفعة واحدة من كتب أو أدلة ممسوحة
## نصائح
- اختر عدة لغات إذا كان مستندك يحتوي على محتوى بلغات مختلطة (مثل عناوين بالإنجليزية ونص أساسي بالياباني).
- استخدم خيار التحويل الثنائي للمستندات ذات النص الباهت أو منخفض التباين، فقد يحسّن دقة التعرف بشكل كبير.
- تقلل إعدادات القائمة البيضاء للفواتير والنماذج النتائج الخاطئة بشكل كبير في المستندات المنظمة بتجاهل أشكال الأحرف غير ذات الصلة.
## أدوات ذات صلة
- [استخراج جداول PDF](./extract-tables)
- [دمج PDF](./merge-pdf)
- [ضغط PDF](./compress-pdf)

Some files were not shown because too many files have changed in this diff Show More