Как открыть офисные документы прямо на сайте (в браузере)

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

Скрипт на php самый примитивный:

 <?
 // Скачиваем архив
 $url = 'http://www.1c.ru/ftp/pub/pricelst/price_1c.zip';
 $path = './путь куда распаковываем прайс-лист/price_1c.zip';
 file_put_contents($path, file_get_contents($url));
 // распаковываем архив в эту же папку на сервере
 $zip = new ZipArchive;
 $res = $zip->open($path);
 if ($res === TRUE) {
   $zip->extractTo('./путь куда распаковываем прайс-лист/');
   $zip->close();
   echo 'ok';
 } else {
   echo 'failed';
 }
 ?>

В результате работы данного скрипта получим три файла в папке  './путь куда распаковываем прайс-лист/'

  • price_1c.zip
  • price_1c.xls

Далее заходим на хостинг в административную панель и добавляем в cron новое задание, которое будет раз в день запускать этот скрипт.

В результате работы этого скрипта получим, всегда свежий прайс-лист фирмы 1С (их два, просто они разной структуры, но показывают одно и тоже, сгруппированы по разному), но уже на своем сайте.

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

Google Docs Viewer

Самый быстрый - это Google Docs Viewer. Но он же и самый простой, он не смог корректно открыть прайс 1С, т.к. в нем используются сгруппированные строки, которые отказались нормально отображаться. Запуск очень прост:

https://docs.google.com/viewer?url=https://softonit.ru/upload/price_1c.xls

Параметры запуска:

  • url - что открыть.
  • a — тип возвращаемого документа:
    • “v” — будет отрыто приложение просмотра документа (это значение по умолчанию);
    • “gt” — будет возвращен xml документ с распознанным текстом;
    • “bi” — будет возвращено изображение страницы документа в формате PNG8 (параметр pagenumber обязателен);
  • pagenumber — номер страницы (только при a=bi), может быть равен только существующей странице в документе;
  • w — ширина страницы в px (только при a=bi и указанном параметре pagenumber), минимум 1, максимум 2400 (≈A4x300px/inch), по умолчанию 800 (≈A4x100px/inch);
  • q — источник документа в кэш Google Search (замена параметру url);

  • embedded — включение/выключение (значения соответственно true или false) встраиваемого в сторонние html-страницы (по умолчанию false); Можно встроить открытие в iframe.

Zoho Viewer

Этот вариант получше. Справился с открытием прайса 1С, все как положено, группировки увидел и их можно открывать.

Работает по ссылке:

https://sheet.zoho.com/sheet/view.do?url=https://softonit.ru/upload/price_1c.xls

  • url - ссылка источник, которая будет открыта
  • name имя открываемого документа

Office Online

Как ни крути, но самый лучший вариант - это все таки открытие в нативном приложении и/или сервисе.

Работает по ссылке:

https://view.officeapps.live.com/op/view.aspx?src=https://softonit.ru/upload/price_1c.xls

  • src - ссылка источник, которая будет открыта

На этом сервисе, мы и остановились. Он работает достаточно быстро и видит группировки.

Надо отметить, что на 100% с заданием никто не справился, на скриншотах видно, что до оригинала не дотягивает никто. Ближе всего Office Online, но и у него проблемы с отображением шрифтов.

Скриншоты
ChatGPT в «Управление IT-отделом 8»
Ассистент на основе ChatGPT готов помочь вам с любыми вопросами
Подробнее
Изображение автора статьи

Основатель и директор по развитию Софтонит. Практикующий руководитель разработки. Эксперт в области автоматизации техподдержки

Загрузка...
Поделитесь статьей
Рекомендуем почитать
Статьи Решение проблемы "Обнаружено нарушение целостности системы 1С"

На сегодняшний день любой, пользующийся популярностью у пользователей программный продукт подвергается "пиратским" взломам и соответственно нелегальному использованию. Не исключением будут и программы от всеми известной в России фирмы 1С. Каждый разработчик старается бороться с подобным незаконным использованием своих продуктов по-разному. Так, например, разработчики 1С с 1-ого февраля 2021 года, массово запустили механизм, который определяет легальность использования программы 1С. В случае, если программа была взломана и используется незаконно конечные пользователи получают ошибку "Обнаружено нарушение целостности системы". Сегодня в публикации разберем причины появления данной ошибки, а также расскажем как решить возникшую проблему. 

Статьи Настройка Apache для работы 1С через HTTPS (SSL)

Безопасность для многих всегда идет на первом месте, многие интернет-гиганты, типа Google даже добавляют в свои браузеры предупреждения, что соединение не безопасно, если на сайте не используется SSL-сертификат.
1С:Предприятие тоже может работать по протоколу HTTPS.
Мы предлагаем статью-инструкцию, как настроить HTTPS в Apache таким образом, чтобы 1С:Предприятие работало без проблем через SSL.

Статьи Подключение терминала сбора данных к 1С

В этой статье мы подключим терминал сбора данных к 1с поэтапно и поработаем документом "Поступление". Данное решение поможет Вам значительно ускорить процесс пересчета товара, а что еще немаловажно при правильной работе избавить от ошибок. Прочитав данную статью, Вы поймете, что все не так сложно и доступно для каждого. Для реализации выбран ТСД фирмы Urovo и "1С:Розница"

Статьи Как установить Linux Ubuntu и настроить в качестве сервера

Хотите создать мощный сервер на базе Linux? Чтобы начать, нужно ознакомиться с установкой и настройкой операционной системы. В новой статье мы расскажем о процессе развертывания сервера на базе Linux. И в последующих выпусках мы будем устанавливать и настраивать PostgreSQL, платформу 1С и производить публикацию ИБ на веб-сервере «Apache». Готовы узнать все необходимое для успешного развертывания? Читайте нашу новую статью!

Статьи Перенос программной лицензии 1С на другой компьютер

Инструкция как перенести программную лицензию 1С на другой компьютер, если известны все данные активации.

Статьи Ошибка HTTP 500.0 - Internal Server Error после публикации базы 1С на веб-сервере IIS

Рассмотрим ошибку, которая может возникать при публикации информационной базы 1С на web-сервере IIS Windows.
Попытаемся ее решить. Ошибка HTTP 500.0 - Internal Server Error.

0 / 0