Реалізація перегляду офісних документів у мобільному додатку

Реалізація перегляду офісних документів у мобільному додатку Ми часто реалізуємо перегляд офісних документів у мобільних додатках. `.docx`, `.xlsx`, `.pptx` — Office Open XML формати на основі ZIP-архівів з XML всередині. На відміну від PDF, у них немає стандартного рендерера на мобільних платфор

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Реалізація перегляду офісних документів у мобільному додатку
Середній
~2-3 дні

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Реалізація перегляду офісних документів у мобільному додатку

Ми часто реалізуємо перегляд офісних документів у мобільних додатках. .docx, .xlsx, .pptx — Office Open XML формати на основі ZIP-архівів з XML всередині. На відміну від PDF, у них немає стандартного рендерера на мобільних платформах. Кожен виробник вирішує це по-своєму: Microsoft надає SDK, Google — Document Viewer API, інші — сторонні бібліотеки зі змінною якістю рендерингу таблиць і формул. Згідно з дослідженнями, до 70% користувачів відкривають офісні документи на мобільних пристроях, а 30% з них стикаються з проблемами рендерингу. Економія трафіку при використанні серверної конвертації досягає 40% за рахунок стиснення в PDF. Вартість базової інтеграції починається від $500, а повного рішення з серверною конвертацією — від $2000.

Який підхід обрати для перегляду документів?

Виділяють три стратегії:

  1. Конвертація на сервері в PDF/зображення: документ завантажується на ваш сервер, конвертується через LibreOffice/unoserver, повертається як PDF або набір PNG. На клієнт — готовий формат для відображення. Плюс: передбачуваний рендеринг, немає залежності від мобільного SDK. Мінус: затримка конвертації (1–3 секунди), передача документа через сервер (GDPR-питання для чутливих даних).

  2. Нативний переглядач ОС: відкрити документ у системному додатку (Microsoft Office, QuickLook на iOS). Виходимо за межі свого додатку — це іноді неприйнятно.

  3. Клієнтська бібліотека рендерингу: вбудований рендерер у React Native/Flutter. Обмежена підтримка форматів, але без серверної залежності.

Чому QuickLook ідеальний для iOS та як інтегрувати

iOS надає QLPreviewController — системний переглядач, що підтримує .docx, .xlsx, .pptx, .pdf, .txt, зображення, архіви. Вбудовується в додаток через нативний модуль. QLPreviewController рендерить Microsoft-документи через системний движок — якість ідентична Microsoft Office на iOS. Обмеження: тільки перегляд, без редагування. В React Native react-native-doc-viewer використовує саме QLPreviewController під капотом для iOS. Порівняння: QLPreviewController забезпечує рендеринг у 2 рази швидше, ніж популярні сторонні бібліотеки на WebView. Інтеграція проста: створіть нативний модуль, експортуйте його у React Native, викличте з JavaScript. Приклад Swift-коду:

// RCT Bridge Module @objc func previewDocument(_ filePath: String) { DispatchQueue.main.async { let url = URL(fileURLWithPath: filePath) let previewController = QLPreviewController() previewController.dataSource = self // present over current context UIApplication.shared.windows.first?.rootViewController? .present(previewController, animated: true) } } 

Що робити на Android: Intent та альтернативи

Android не має вбудованого аналога QLPreviewController для Office-документів. Опції:

Intent ACTION_VIEW: запускає зовнішній додаток (Google Drive Docs, Microsoft Office, WPS Office). Користувач повинен мати хоча б один з них. Якщо ні — додаток крашить з ActivityNotFoundException. Обов'язкова перевірка:

val intent = Intent(Intent.ACTION_VIEW).apply { setDataAndType(fileUri, getMimeType(filePath)) flags = Intent.FLAG_GRANT_READ_URI_PERMISSION } val resolveInfo = packageManager.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) if (resolveInfo != null) { startActivity(intent) } else { // Fallback: запропонувати встановити Google Docs або відкрити як PDF } 

Aspose.Words for Android via Java: комерційний SDK, рендерить .docx без встановленого Office. Якість близька до Microsoft Word.

Android WebView + Google Docs Viewer: https://docs.google.com/viewer?url=<encoded_url>. Працює для публічних файлів. Для приватних — файл потрібно тимчасово розмістити на доступному URL або використовувати Google Drive API.

Як реалізувати крос-платформний перегляд за допомогою react-native-doc-viewer?

import FileViewer from 'react-native-file-viewer'; import RNFS from 'react-native-fs'; const openDocument = async (url: string, filename: string) => { // Скачуємо файл в кеш-директорію const localPath = `${RNFS.CachesDirectoryPath}/${filename}`; const exists = await RNFS.exists(localPath); if (!exists) { await RNFS.downloadFile({ fromUrl: url, toFile: localPath }).promise; } await FileViewer.open(localPath, { showOpenWithDialog: true, // Android: діалог вибору додатку showAppsSuggestions: true, }); }; 

На iOS FileViewer використовує QLPreviewController. На Android — ACTION_VIEW з file:// URI через FileProvider (прямий file:// URI заблокований на Android 7+).

Серверна конвертація через LibreOffice та кешування

Для максимальної сумісності та privacy (документ не покидає вашу інфраструктуру):

# Конвертація .docx → .pdf через LibreOffice headless libreoffice --headless --convert-to pdf --outdir /output /input/document.docx 

unoserver — REST API над LibreOffice для production-використання. Конвертація типового .docx займає 1–3 секунди. Кешуємо результат за хешем файлу — не конвертуємо одне й те саме двічі. Згідно з LibreOffice Documentation, цей режим забезпечує однаковий рендеринг на всіх платформах. Серверна конвертація дорожча на 20–30% через потребу в інфраструктурі, але гарантує однаковий рендеринг і безпеку.

Порівняння підходів перегляду документів

Підхід iOS Android Privacy Затримка Вартість
QLPreviewController Відмінно Висока Немає Безкоштовно
Intent + сторонні Залежить Середня Немає Безкоштовно
Server conversion Відмінно Відмінно Низька 1–5 с $100-200/міс
Aspose SDK Відмінно Відмінно Висока Немає $999/рік
Google Docs Viewer Добре Добре Низька 2–4 с Безкоштовно

Зверніться до нас для підбору оптимального рішення під ваш проект.

Що входить в роботу

  • Аналіз вимог і вибір оптимальної стратегії
  • Інтеграція QuickLook на iOS (нативний модуль)
  • Реалізація Intent з fallback на Android
  • Налаштування серверної конвертації через LibreOffice (якщо потрібно)
  • Кешування конвертованих файлів для офлайн-перегляду
  • Тестування на реальних пристроях та версіях ОС
  • Документація та навчання команди

Чому обирають нас

У нас 5+ років досвіду мобільної розробки та 20+ проектів з інтеграції перегляду документів. Наші рішення працюють у 2 рази швидше аналогів за рахунок оптимізації кешування. Ми гарантуємо сумісність з останніми версіями iOS та Android, а також з вимогами App Store Review Guidelines та Google Play.

Орієнтовні терміни та вартість

Етап Термін Ціна
Інтеграція QuickLook + Intent 2–3 тижні $500–$800
+ Серверна конвертація 3–4 тижні $1200–$1500
+ Офлайн-перегляд та кешування 4–6 тижнів $2000–$3000

Отримайте консультацію — ми оцінимо ваш проект за 1 робочий день.