Stirling-PDF — это инструмент обработки PDF-файлов с открытым исходным кодом, который можно разместить локально.
Stirling-PDF — это инструмент обработки PDF-файлов с открытым исходным кодом, который можно разместить локально.

Stirling-PDF

Это надежный локальный веб-инструмент для работы с PDF-файлами.,Реализовано с помощью Docker. Он позволяет выполнять различные операции с файлами PDF.,В том числе разделение, объединение, преобразование, реорганизация, добавление изображений, вращение, сжатие и т. д. Это локальное веб-приложение превратилось в комплексный набор функций.,Для всех ваших потребностей в PDF.

Stirling PDF не совершает исходящих звонков в целях ведения учета или отслеживания.

Все файлы и PDF-файлы существуют только на стороне клиента, либо находятся в памяти сервера только во время выполнения задачи, либо временно находятся в файлах только для выполнения задачи. Любые файлы, загруженные пользователем, в это время будут удалены с сервера.

Функция

• Поддерживает темный режим.

• Пользовательские параметры загрузки (см. пример здесь).

• Параллельная обработка и загрузка файлов.

• API для интеграции с внешними скриптами

• Дополнительная поддержка входа и аутентификации (см. документацию здесь).

PDFФункция

Операции со страницами

• Просмотр и изменение PDF-файлов - Просматривайте многостраничные PDF-файлы, настраивайте сортировку просмотра и поиск. Также редактируйте функции на странице, такие как аннотации, рисование, добавление текста и изображений. (Использование PDF.js со шрифтами Joxit и Liberation.Liberation)

• Полностью интерактивный графический интерфейс для объединения/разделения/поворота/перемещения PDF-файлов и их страниц.

• Объедините несколько PDF-файлов в один результирующий файл.

• Разделить PDF на несколько файлов с указанными номерами страниц или извлечь все страницы в отдельные файлы.

• Реорганизовать страницы PDF в другом порядке.

• Поворот PDF-файла с шагом 90 градусов.

• Удалить страницы.

• Многостраничный макет (формат PDF на несколько страниц).

• Масштабируйте размер содержимого страницы на заданный процент.

• Отрегулируйте контрастность.

• Обрезать PDF-файл.

• Автоматическое разделение PDF-файлов (с использованием физически отсканированных разделителей страниц).

• Извлечь страницы.

• Преобразование PDF в одну страницу.

операция преобразования

• Конвертируйте PDF в изображения и наоборот.

• Конвертируйте любой обычный файл в PDF (с помощью LibreOffice).

• Конвертируйте PDF в Word/Powerpoint/другой формат (с помощью LibreOffice).

• Конвертировать HTML в PDF.

• URL-адрес PDF-файла.

• Уценка в PDF.

Безопасность и разрешения

• Добавлять и удалять пароли.

• Изменить/установить разрешения PDF.

• Добавить водяной знак.

• Сертифицировать/подписать PDF-файл.

• Очистить PDF.

• Автоматически затемнять текст.

Прочие операции

• Добавлять/создавать/записывать подписи.

• Восстановить PDF.

• Обнаружение и удаление пустых страниц.

• Сравнить два PDF-файла и отобразить различия в тексте.

• Добавить изображения в PDF.

• Сжимайте PDF для уменьшения размера файла (с помощью OCRMyPDF).

• Извлечение изображений из PDF.

• Извлечение изображений из сканов.

• Добавьте номера страниц.

• Автоматически переименовывать файлы, определяя текст заголовка PDF.

• OCR в PDF (с использованием OCRMyPDF).

• Преобразование PDF/A (с использованием OCRMyPDF).

• Редактировать метаданные.

• Сведение PDF-файлов.

• Получите всю информацию в формате PDF для просмотра или экспорта в JSON.

Обзор задач и каждой технологии можно найти на сайте Endpoint-groups.md. Демо-версия приложения доступна здесь, имя пользователя: demo, пароль: demo.

Используемая технология

• Spring Boot + Thymeleaf

• PDFBox

• LibreOffice для расширенных преобразований.

• OcrMyPdf

• HTML, CSS, JavaScript

• Docker

• PDF.js

• PDF-LIB.js

Как использовать

местный

Пожалуйста, проверьте https://github.com/Stirling-Tools/Stirling-PDF/blob/main/LocalRunGuide.md.

Docker / Podman

https://hub.docker.com/r/frooodle/s-pdf Stirling Существует две разные версии PDF: полная версия и сверхлегкая версия. В зависимости от типа используемой функции вам может потребоваться изображение меньшего размера для экономии места. Чтобы увидеть, что могут предложить различные версии, пожалуйста, проверьте нашу версию карты. Для тех, кого не волнует оптимизация пространства,Просто используйте последние теги.

Докер запустить

Язык кода:javascript
копировать
docker run -d \
  -p 8080:8080 \
  -v /location/of/trainingData:/usr/share/tessdata \
  -v /location/of/extraConfigs:/configs \
  -v /location/of/logs:/logs \
  -e DOCKER_ENABLE_SECURITY=false \
  -e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false \
  -e LANGS=en_GB \
  --name stirling-pdf \
  frooodle/s-pdf:latest

Их также можно добавить для настройки, но это не обязательно.

  -v /location/of/customFiles:/customFiles \

Docker Compose

Язык кода:javascript
копировать
version: '3.3'
services:
  stirling-pdf:
    image: frooodle/s-pdf:latest
    ports:
      - '8080:8080'
    volumes:
      - /location/of/trainingData:/usr/share/tessdata #Required for extra OCR languages
      - /location/of/extraConfigs:/configs
      # - /location/of/customFiles:/customFiles/
      # - /location/of/logs:/logs/
    environment:
      - DOCKER_ENABLE_SECURITY=false
      - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
      - LANGS=en_GB

ПРИМЕЧАНИЕ. Podman совместим с командной строкой Docker, поэтому просто замените «docker» на «podman».

давать возможностьOCR/сжатие Функция

пожалуйста, проверьте Как использоватьOCRhttps://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToUseOCR.md

Индивидуальные

Stirling PDF позволяет легко настраивать приложение. Включает следующее:

Пользовательское имя приложения Настраивайте слоганы, значки, HTML, изображения, CSS и т. д. (через переопределение файла) Есть два варианта,Один из них — использовать сгенерированный файл настроек.settings.yml,Этот файл находится в/configsОглавление,И следуйте стандартному формату YAML. Переменные среды также поддерживаются.,и перезапишет файл настроек. Например,В settings.yml у вас есть:

Язык кода:javascript
копировать
system:
  defaultLocale: 'en-US'

Устанавливается через переменные среды,у тебя будетSYSTEM_DEFAULTLOCALE Текущий список настроек

Язык кода:javascript
копировать
security:
  enableLogin: false # Установите значение «true», чтобы включить Авторизацию.
  csrfDisabled: true

system:
  defaultLocale: 'en-US' # Установите язык по умолчанию (например, «de-DE», («фр-фр» и т. д.)
  googlevisibility: false # «true» разрешает видимость Google (через robots.txt), «false» — нет.
  customStaticFilePath: '/customFiles/static/' # Настройте путь к каталогу статических файлов
  showUpdate: true # Проверьте, доступны ли новые обновления
  showUpdateOnlyAdmin: false # Только администраторы могут видеть, доступны ли новые обновления, в зависимости от того, для параметра showUpdate должно быть установлено значение «true».
  customHTMLFiles: false # Если этот параметр включен, файлы можно поместить в /customFiles/templates, чтобы перезаписать существующие html-файлы шаблонов.

#ui:
#  appName: exampleAppName # Видимое имя приложения
#  homeDescription: I am a description # Краткое описание или слоган для отображения на главной странице.
#  appNameNavbar: navbarName # Имя, отображаемое на панели навигации

Дополнительные инструкции

Текущие конечные точки ENDPOINTS_TO_REMOVE и GROUPS_TO_REMOVE могут содержать разделенный запятыми список конечных точек и групп для отключения.,Например, ENDPOINTS_TO_REMOVE=img-to-pdf,remove-pages отключит изображения в формате PDF и удалит страницы.,GROUPS_TO_REMOVE=LibreOffice отключит все программы, использующие LibreOffice. Здесь вы можете просмотреть список всех конечных точек и групп.

customStaticFilePath: настройте статические файлы, поместив файлы в каталог /customFiles/static/, например перезаписав текущий SVG, поместив /customFiles/static/favicon.svg. Это можно использовать для изменения любого изображения/значка/CSS/шрифта/JS и т. д. в Stirling-PDF.

Только параметр среды SYSTEM_ROOTURIPATH

Например, установите/pdf-appПоместите корень приложенияURIустановлен на localhost:8080/pdf-app

SYSTEM_CONNECTIONTIMEOUTMINUTESУстановите пользовательское значение таймаута соединения

DOCKER_ENABLE_SECURITYРассказыватьdockerскачать Безопасностьjar(дляauth необходим вход)

INSTALL_BOOK_AND_ADVANCED_HTML_OPSскачатьcalibreприезжатьstirling-pdf,давать возможностьPDFс книгами и продвинутымиHTMLКонвертировать

LANGSОпределить установку для документации Конвертироватьпользовательская библиотека шрифтов

API

Те, кто хочет использовать внутренний API Stirling-PDF, связанный со своими собственными сценариями для редактирования PDF-файлов, могут просмотреть всю существующую документацию по API здесь или перейти к /swagger вашего экземпляра Stirling-pdf -ui/index.html Посмотреть свою версию документацию (или нажав кнопку API в настройках Stirling-PDF)

Проверка входа

Предпосылки:

Пользователи должны установить папку ./configs в качестве тома в докере.,сохранить при обновлении。DockerПользователь должен установить переменные среды с помощьюDOCKER_ENABLE_SECURITYдляtrue来скачать БезопасностьjarВерсия。тогда пройдиsettings.ymlФайл или настройкиSECURITY_ENABLE_LOGINдляtrue来давать возможность Авторизоваться。Сейчас,Первоначальным пользователем будет имя пользователяadminи密码stirlingгенерировать。Авторизоватьсячас,Вам будет предложено сменить пароль на новый пароль.。Вы также можете использовать переменные средыSECURITY_INITIALLOGIN_USERNAMEиSECURITY_INITIALLOGIN_PASSWORD来立即设置您自己的用户名и密码(Рекомендуется после создания пользователяудалитьони)。Как только вы выполните вышеуказанные шаги,после перезапуска,если все в порядке,Будет отображен новый файл moving-pdf-DB.mv.db. АвторизоватьсяStirling После PDF вы будете перенаправлены на страницу /login для входа в систему, используя эти учетные данные по умолчанию. После входа в систему все должно работать нормально.

Чтобы получить доступ к настройкам своей учетной записи, перейдите в «Настройки учетной записи» в меню настроек в правом верхнем углу панели навигации. В этом меню настроек учетной записи вы также найдете свой ключ API.

Чтобы добавить нового пользователя, перейдите в нижнюю часть «Настройки учетной записи» и нажмите «Настройки администратора», где вы можете добавить новых пользователей. Различные роли, упомянутые здесь, используются для ограничения скорости. Эта работа находится в стадии разработки и будет расширена в будущем.

Для использования API вы должны предоставить заголовок с X-API-Key и связанным с ним ключом API для этого пользователя.

Часто задаваемые вопросы

Вопрос 1: Какова ваша запланированная функция?

Индикатор выполнения/отслеживание Полностью настраиваемый логический конвейер для объединения нескольких операций. Поддержка автоматического сканирования папок для выполнения действий Очернение текста (через пользовательский интерфейс, а не автоматически) Добавить форму Многостраничный макет (склеивание страниц PDF) поддерживает x строк, y столбцов и пользовательские размеры страниц. Заполняйте формы вручную или автоматически Q2: Почему мое приложение загружает файлы .htm?

Обычно это проблема, вызванная вашей конфигурацией NGINX. Размер загружаемого файла NGINX по умолчанию составляет 1 МБ, вам необходимо sites-availableДобавьте в файл следующее содержимое:client_max_body_size SIZE;,Где «SIZE» — это, например, 50M.,Указывает файл размером 50 МБ. Q3: Почему у меня истекает время загрузки?

NGINX по умолчанию имеет значение таймаута.,Итак, если вы запустите Stirling-PDF за NGINX,Возможно, вам потребуется установить значение таймаута,Например, добавьте конфигурациюproxy_read_timeout 3600;

заявление

Эта статья была переведена и скомпилирована Shanxing по адресу: https://github.com/Stirling-Tools/Stirling-PDF. Если она вам полезна, поставьте лайк, подпишитесь и заберите ее. Спасибо~.

Кроме того, если вас интересуют подсказки, вы можете обратить внимание на видеоаккаунт, в котором есть еще несколько советов~

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода