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

Первое с чего хочется начать - это прежде всего для того, чтобы иметь возможность открывать прайс-лист в формате 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С. В случае, если программа была взломана и используется незаконно конечные пользователи получают ошибку "Обнаружено нарушение целостности системы". Сегодня в публикации разберем причины появления данной ошибки, а также расскажем как решить возникшую проблему. 

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

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

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

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

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

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

Статьи Как удалить данные по организации в базе 1С?

При ведении учета по нескольким организациям зачастую возникает необходимость очистить основную базу от всех данных какой-либо организации. Или разделить информационную базу на несколько, по организациям. Рассмотрим один из вариантов решения. Однако с помощью стандартной обработки удаления информации, это сделать будет проблемно и ресурсоемко. Поэтому в этой публикации рассмотрим вариант решения подобных проблем.

Статьи Быстро растет база MS SQL

Часто наши клиенты задают нам вопросы связанные с быстрым ростом размеров базы данных MS SQL.
1С:Предприятие использует БД MS SQL, а сервер на котором все это работает может столкнуться с тем, что банально для базы не хватит места.

0 / 0