Ghostscript конвертировать PDF в JPG, сохранить файл или временный файл? - PullRequest
1 голос
/ 26 января 2012

У меня есть веб-сайт со многими файлами PDF, и я использую ghostscript для конвертации PDF в JPG на лету (открывая PDF, я конвертирую PDF в JPG, и посетитель видит версию PDF в формате JPG).Теперь я сохраняю JPG в определенную папку, но это использует очень большую часть веб-пространства.Поэтому мой вопрос: лучше ли сохранить JPG во временный файл, если это вообще возможно?

Надеюсь, вы, ребята, поняли мой вопрос, поэтому я надеюсь получить несколько полезных советов!

Спасибозаранее!

1 Ответ

1 голос
/ 27 января 2012

Это именно та проблема, с которой я столкнулся при реализации GhostScript. Это возможно, и мы сделали это для нашего проекта.

Плюсы

  • Разделение GhostScript требует времени, а сохранение изображений во временную папку предотвращает слишком долгую загрузку страницы
  • Сохранение изображений во временную папку локализует файлы, чтобы вы могли эффективнее обращаться с ними, когда вам нужно удалить их

Минусы

  • Занимает место, поэтому вы должны реализовать некоторый код для удаления изображений из временной папки.

У вас есть несколько вариантов обработки временной папки и других переменных, которые необходимо учитывать. В конечном итоге мы пошли на удаление временной папки на ночной основе, а также некоторых специальных экземпляров в коде. Вот несколько вариантов.

Пользователь покидает страницу

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

Пользователь заканчивает сеанс

Немного сложнее кодировать, но гораздо разумнее, чем удалять файлы, когда пользователь покидает страницу. Если пользователь немедленно перезапустит сеанс, вы столкнетесь с той же проблемой, но она все же лучше, чем при выборе выше.

Временное удаление

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

Специфичный для проекта

В вашем коде может быть событие, которое имеет смысл удалить временную папку. Например, наш проект имеет дело со свойствами. Когда для свойства установлено значение «Продано» или «Отменено», мы удаляем временные файлы для этого свойства, поскольку они нам больше не нужны.

Вот некоторые из проблем, с которыми мы столкнулись и обсуждали наш проект. Надеюсь, это поможет вам лучше понять.

...