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
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose