Jadual Kandungan
edisi pemaju
Untuk mengintegrasikan dengan aplikasi web anda, anda perlu memuat turun Dokumen OnlyOffice (dibungkus sebagai pelayan dokumen) dan tetapkannya pada pelayan tempatan anda.
Simpan dokumen
mengambil sandaran
Membuka dokumen dalam penyemak imbas
CSS
Menunjukkan dokumen yang tersedia
Konfigurasi DocEditor
Kesimpulan
Soalan Lazim (Soalan Lazim) Mengenai Menambah Fungsi Pejabat ke Aplikasi Web Anda Dengan OnlyOffice
Bagaimana saya boleh mengintegrasikan hanya ke dalam aplikasi web saya yang sedia ada? Pertama, anda perlu memasang pelayan dokumen OnlyOffice, yang merupakan teras OnlyOffice. Ini boleh dilakukan menggunakan Docker, yang merupakan kaedah yang disyorkan, atau secara manual. Sebaik sahaja pelayan dokumen dipasang, anda boleh menggunakan API OnlyOffice untuk mengintegrasikannya ke dalam aplikasi web anda. API menyediakan satu set kaedah untuk bekerja dengan dokumen, spreadsheet, dan persembahan. Anda boleh menggunakan kaedah ini untuk membuka, mengedit, dan menyimpan dokumen dalam aplikasi web anda. Ia membolehkan pengguna membuat, melihat, dan mengedit dokumen secara langsung dalam aplikasi, tanpa perlu memuat turunnya atau menggunakan program berasingan. Ini dapat meningkatkan pengalaman pengguna dan produktiviti. OnlyOffice juga menyokong kerjasama masa nyata, yang membolehkan beberapa pengguna bekerja pada dokumen yang sama serentak. Selain itu, OnlyOffice menyokong pelbagai format dokumen, termasuk format Microsoft Office dan format OpenDocument.
Bolehkah saya menggunakan OnlyOffice dengan React?
Bolehkah saya menggunakan OnlyOffice pada peranti mudah alih? Ini bermakna pengguna boleh membuat, melihat, dan mengedit dokumen pada telefon pintar atau tablet mereka, memberikan pengalaman lancar di seluruh peranti. Komuniti untuk pemaju sahaja. Komuniti ini menyediakan forum untuk pemaju untuk bertanya soalan, berkongsi tips dan trik, dan bekerjasama dalam projek. Ia adalah sumber yang hebat untuk sesiapa sahaja yang sedang dibangunkan dengan OnlyOffice.
Rumah hujung hadapan web tutorial js Tambahkan fungsi pejabat ke aplikasi web anda dengan OnlyOffice

Tambahkan fungsi pejabat ke aplikasi web anda dengan OnlyOffice

Feb 10, 2025 am 11:19 AM

Tambahkan fungsi pejabat ke aplikasi web anda dengan OnlyOffice

Artikel ini dibuat dengan kerjasama OnlyOffice. Terima kasih kerana menyokong rakan kongsi yang membuat SitePoint mungkin.

Setiap kali kita mendapati diri kita cuba menambah fungsi kompleks ke aplikasi, soalan itu timbul, "Sekiranya saya menggulung saya sendiri?" Dan melainkan jika matlamat anda adalah untuk membina fungsi itu, jawapannya hampir selalu lurus "tidak".

apa yang anda perlukan adalah sesuatu untuk membantu anda sampai ke MVP secepat mungkin, dan cara terbaik untuk mencapai itu adalah dengan menggunakan penyelesaian luar kotak yang dapat membantu anda menjimatkan masa, yang, dalam berpaling, diterjemahkan ke dalam penjimatan kos pembangunan.

Saya akan mengandaikan bahawa anda masih di sini kerana di atas bergema dengan anda. Oleh itu, sekarang kita selaras, apa yang saya ingin tunjukkan kepada anda dalam artikel ini adalah betapa mudahnya untuk mengintegrasikan hanya dalam aplikasi web anda.

Takeaways Key

    OnlyOffice menyediakan suite pejabat yang komprehensif yang sangat serasi dengan Format Microsoft Office dan OpenDocument, yang boleh diintegrasikan terus ke dalam aplikasi web untuk dokumen, spreadsheet, dan pengurusan persembahan.
  • Edisi pemaju OnlyOffice membolehkan penyesuaian dan integrasi yang luas ke dalam aplikasi, menawarkan pilihan "label putih" untuk penjenamaan editor sebagai anda sendiri.
  • Menyediakan OnlyOffice melibatkan memasang dokumen sahaja (pelayan dokumen) secara tempatan dan melaksanakan permintaan API untuk menguruskan dokumen dalam aplikasi anda, dengan sokongan untuk pelbagai bahasa pengaturcaraan.
  • Integrasi OnlyOffice membolehkan penciptaan, penyuntingan, penghapusan, dan pengesanan dokumen secara langsung dalam aplikasi web anda, meningkatkan interaksi pengguna dan produktiviti tanpa memerlukan aplikasi luaran.
  • Kerjasama masa nyata disokong dalam OnlyOffice, membolehkan beberapa pengguna mengedit dokumen secara serentak dan melihat perubahan masing-masing secara langsung.
  • Proses integrasi direka untuk menjadi mudah, bertujuan untuk membantu pemaju mencapai produk minimum (MVP) dengan cepat dan kos efektif, dengan dokumentasi yang mencukupi dan sokongan komuniti yang tersedia untuk bantuan.
  • Apa itu sahaja?
  • dari laman web mereka:
OnlyOffice menawarkan suite pejabat yang paling kaya dengan ciri yang tersedia, sangat serasi dengan format fail Microsoft Office dan OpenDocument. Lihat, edit dan bekerjasama dengan dokumen, spreadsheet dan persembahan terus dari aplikasi web anda.

The Office Suite mempunyai beberapa edisi. Dalam artikel ini, kami akan menggunakan Edisi Pemaju, kerana kami ingin mengintegrasikan editor ke dalam aplikasi yang kemudiannya akan dihantar kepada banyak pengguna sebagai perkhidmatan awan atau pemasangan premis.

Jika anda ingin menggunakan OnlyOffice dalam penyelesaian Sync & Share yang sedia ada, anda harus menyemak Edisi Enterprise. Senarai integrasi di sini.

edisi pemaju

Edisi Pemaju bukan sahaja memberi anda kebebasan yang cukup untuk mengintegrasikan editor dalam aplikasi anda, tetapi ia juga dilengkapi dengan pilihan "Label Putih" yang membolehkan anda menyesuaikan sepenuhnya editor untuk menggunakannya di bawah jenama anda sendiri.

Integrasi Server Dokumen

Untuk mengintegrasikan dengan aplikasi web anda, anda perlu memuat turun Dokumen OnlyOffice (dibungkus sebagai pelayan dokumen) dan tetapkannya pada pelayan tempatan anda.

Selepas anda memasangnya, anda boleh mula melaksanakan permintaan untuk mengendalikan dokumen pada pelayan anda. OnlyOffice menyediakan beberapa contoh yang sangat bagus untuk .net, java, node.js, php, python dan ruby.

anda boleh memuat turun pelayan dokumen dan contoh pilihan anda dan cuba terus pada mesin anda.

Saya akan menunjukkan bagaimana anda boleh mula mengintegrasikan ke dalam aplikasi anda. Untuk tujuan ini, kami akan menggunakan contoh yang sangat mudah dengan Node.js dan Express. Saya tidak akan terperinci mengenai pelaksanaannya, saya akan meletakkan keperluan tulang yang kosong dan membiarkan anda mengisi kekosongan untuk membina sistem yang mantap dan berskala.

saya mempunyai aplikasi dengan struktur berikut:

kami akan menggunakan folder awam/dokumen untuk menyimpan dokumen. Fail app.js adalah di mana kod aplikasi ekspres kami, dan index.html adalah di mana kami akan menunjukkan dokumen kami. Saya telah menjatuhkan fail sampel.docx dalam folder dokumen untuk tujuan ujian.
- node_modules
- public
    - backups
    - css
        - main.css
    - documents
        - sample.docx
    - javascript
        - main.js
    - samples
        - new.docx
        - new.xlsx
        - new.pptx
- app.js
- index.html
- package.json
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

fail pokok di dalam awam/ sampel/ adalah fail kosong yang akan kami salin ketika "membuat" fail baru.

Folder Backups, seperti yang akan anda lihat kemudian, bukan sahaja akan membantu kami menyimpan sandaran versi terdahulu tetapi juga membantu kami dalam menghasilkan pengenal unik untuk dokumen kami selepas mengubahnya.

fail awam/css/main.css dan fail awam/javascript/main.js akan digunakan oleh index.html. Kami akan melihatnya kemudian.

mari kita lihat fail app.js:

Apa yang kita lakukan ialah melayani fail sebagai localhost: 3000/dokumen/nama fail.

<span>const express = require('express');
</span><span>const bodyParser = require("body-parser");
</span><span>const path = require('path');
</span><span>const fs = require('fs');
</span><span>const syncRequest = require('sync-request');
</span>
<span>const app = express();
</span>
app<span>.use(bodyParser.json());
</span>app<span>.use(bodyParser.urlencoded({ extended: false }));
</span>
app<span>.use(express.static("public"));
</span>
app<span>.get("/", (req<span>, res</span>) => {
</span>  res<span>.sendFile(path.join(__dirname, "/index.html"));
</span><span>});
</span>
<span>const port = process.env.PORT || 3000;
</span>app<span>.listen(port, () => console.log(<span>`App listening on http://localhost:<span>${port}</span>`</span>));
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Saya juga mendapat lebih awal daripada diri saya dan menambah Syncrequest, FS, dan BodyParser. Ini tidak relevan sekarang tetapi kami akan menggunakannya kemudian.

Ambil dokumen

Untuk menunjukkan dokumen yang ada, kami perlu mendapatkan senarai semua nama fail dan menghantarnya kepada pelanggan. Kami akan membuat Laluan /Dokumen untuk ini:

Buat dokumen

app<span>.get("/documents", (req<span>, res</span>) => {
</span>  <span>const docsPath = path.join(__dirname, "public/documents");
</span>  <span>const docsPaths = fs.readdirSync(docsPath);
</span>
  <span>const fileNames = [];
</span>
  docsPaths<span>.forEach(filePath => {
</span>    <span>const fileName = path.basename(filePath);
</span>    fileNames<span>.push(fileName);
</span>  <span>});
</span>
  res<span>.send(fileNames);
</span><span>});
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Pada mulanya kita hanya akan mempunyai dokumen sampel, tetapi itu tidak menyeronokkan sama sekali. Mari tambahkan laluan A /Buat untuk membantu kami menambah beberapa fail. Kami hanya akan mengambil nama fail dan menyalin templat yang sepadan ke dalam folder awam/dokumen dengan nama barunya:

Padam dokumen

app<span>.post("/create", async (req<span>, res</span>) => {
</span>  <span>const ext = path.extname(req.query.fileName);
</span>  <span>const fileName = req.query.fileName;
</span>
  <span>const samplePath = path.join(__dirname, "public/samples", "new" + ext);
</span>  <span>const newFilePath = path.join(__dirname, "public/documents", fileName);
</span>
  <span>// Copy the sample file to the documents folder with its new name.
</span>  <span>try {
</span>    fs<span>.copyFileSync(samplePath, newFilePath);
</span>    res<span>.sendStatus(200);
</span>  <span>} catch (e) {
</span>    res<span>.sendStatus(400);
</span>  <span>}
</span><span>});
</span>
Salin selepas log masuk
Salin selepas log masuk
Kami juga memerlukan cara untuk memadam dokumen. Mari buat Laluan /Padam:

Ini sangat mudah. Kami akan memadam fail dan menghantar kod status 200 untuk membiarkan pengguna tahu semuanya berjalan lancar. Jika tidak, mereka akan mendapat kod status 400.

Simpan dokumen

Setakat ini, kami boleh membuka dokumen kami untuk mengedit, tetapi kami tidak dapat menyelamatkan perubahan kami. Mari kita buat sekarang. Kami akan menambah laluan A /trek untuk menyimpan fail kami:

- node_modules
- public
    - backups
    - css
        - main.css
    - documents
        - sample.docx
    - javascript
        - main.js
    - samples
        - new.docx
        - new.xlsx
        - new.pptx
- app.js
- index.html
- package.json
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ini adalah satu yang rumit, kerana ia akan digunakan oleh pelayan dokumen apabila fail disimpan oleh editor. Seperti yang anda lihat, kami kembali "{" error ": 0}", yang memberitahu pelayan bahawa semuanya baik.

Apabila editor ditutup, versi semasa fail akan disandarkan dalam awam/sandaran/filename-history/dengan masa semasa dalam milisaat sebagai nama fail. Kami akan menggunakan nama fail kemudian di hujung depan, seperti yang anda lihat.

Dalam contoh ini, kami menggantikan sandaran sebelumnya setiap kali kami menyimpan yang baru. Bagaimana anda akan menyimpan lebih banyak sandaran?

mengambil sandaran

kami memerlukan cara untuk mendapatkan sandaran untuk fail tertentu, jadi kami menambah laluan A /sandaran untuk mengendalikan ini:

<span>const express = require('express');
</span><span>const bodyParser = require("body-parser");
</span><span>const path = require('path');
</span><span>const fs = require('fs');
</span><span>const syncRequest = require('sync-request');
</span>
<span>const app = express();
</span>
app<span>.use(bodyParser.json());
</span>app<span>.use(bodyParser.urlencoded({ extended: false }));
</span>
app<span>.use(express.static("public"));
</span>
app<span>.get("/", (req<span>, res</span>) => {
</span>  res<span>.sendFile(path.join(__dirname, "/index.html"));
</span><span>});
</span>
<span>const port = process.env.PORT || 3000;
</span>app<span>.listen(port, () => console.log(<span>`App listening on http://localhost:<span>${port}</span>`</span>));
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

di sini kami memastikan bahawa folder sandaran untuk fail itu wujud, dan mengembalikan pelbagai fail sandaran dalam folder itu. Ya, ini akan membantu anda dalam tugas anda menyimpan lebih banyak sandaran untuk satu fail. Saya tidak boleh terus melakukan semua kerja untuk anda!

Membuka dokumen dalam penyemak imbas

kita akan melihat bagaimana kita boleh membuka dokumen kami untuk mengedit secara langsung dalam penyemak imbas menggunakan dokumen OnlyOffice.

Tambahkan fungsi pejabat ke aplikasi web anda dengan OnlyOffice

Pertama, kami akan membuat fail HTML yang mudah:

app<span>.get("/documents", (req<span>, res</span>) => {
</span>  <span>const docsPath = path.join(__dirname, "public/documents");
</span>  <span>const docsPaths = fs.readdirSync(docsPath);
</span>
  <span>const fileNames = [];
</span>
  docsPaths<span>.forEach(filePath => {
</span>    <span>const fileName = path.basename(filePath);
</span>    fileNames<span>.push(fileName);
</span>  <span>});
</span>
  res<span>.send(fileNames);
</span><span>});
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Seperti yang anda lihat, tidak banyak fail ini. Kami mempunyai div pemegang tempat di mana editor akan dilampirkan. Kemudian ada dokumen div, yang mengandungi kawalan untuk membuat dokumen dan bekas untuk senarai nama fail.

Di bawah itu, kami mempunyai skrip dengan API JavaScript untuk pelayan dokumen. Perlu diingat bahawa anda mungkin perlu menggantikan hos dengan lokasi pelayan dokumen anda. Sekiranya anda memasangnya dengan perintah docker yang saya berikan kepada anda, anda harus baik untuk pergi.

Terakhir tetapi tidak kurang, terdapat tag skrip, di mana kami mengimport JavaScript depan kami, dan fail Main.js, di mana kami akan mempunyai akses global ke objek DocSAPI.

CSS

Sebelum kita sampai ke pengekodan, mari kita bungkus susun atur dengan beberapa CSS untuk menjadikan aplikasi kita lebih berguna dan kurang hodoh. Tambahkan yang berikut ke main.css:

app<span>.post("/create", async (req<span>, res</span>) => {
</span>  <span>const ext = path.extname(req.query.fileName);
</span>  <span>const fileName = req.query.fileName;
</span>
  <span>const samplePath = path.join(__dirname, "public/samples", "new" + ext);
</span>  <span>const newFilePath = path.join(__dirname, "public/documents", fileName);
</span>
  <span>// Copy the sample file to the documents folder with its new name.
</span>  <span>try {
</span>    fs<span>.copyFileSync(samplePath, newFilePath);
</span>    res<span>.sendStatus(200);
</span>  <span>} catch (e) {
</span>    res<span>.sendStatus(400);
</span>  <span>}
</span><span>});
</span>
Salin selepas log masuk
Salin selepas log masuk

Dengan cara itu, kami bersedia untuk memulakan pengekodan hujung depan. Kami akan bermula dengan menyenaraikan fail dalam folder Dokumen. Pergi ke main.js dan tambahkan kod berikut:

app<span>.delete("/delete", (req<span>, res</span>) => {
</span>  <span>const fileName = req.query.fileName;
</span>  <span>const filePath = path.join(__dirname, "public/documents", fileName);
</span>
  <span>try {
</span>    fs<span>.unlinkSync(filePath);
</span>    res<span>.sendStatus(200);
</span>  <span>} catch (e) {
</span>    res<span>.sendStatus(400);
</span>  <span>}
</span><span>});
</span>
Salin selepas log masuk

Di sini di bahagian atas, kami mendapat parameter pertanyaan untuk mengetahui sama ada kami membuka fail atau tidak. Jika kita, kita akan memanggil fungsi EditDocument. Jangan risau, kami akan membuatnya kemudian.

Jika kami tidak membuka fail, kami ingin menunjukkan senarai fail yang tersedia dan kawalan untuk membuat lebih banyak. Dalam ListDocuments, kami mula -mula pastikan kami menyembunyikan pemegang tempat dan membersihkan senarai untuk memastikan kami menciptanya lagi. Kemudian kami memanggil laluan /dokumen yang kami buat sebelum ini untuk mendapatkan semua fail, berulang melalui mereka, dan membuat unsur -unsur yang sepadan. Kami akan mengenal pasti setiap elemen dengan nama fail sebagai ID. Dengan cara ini kita dapat dengan mudah mengambilnya kemudian.

Perhatikan bahawa kami memanggil fungsi AddDocumentHTML, yang akan kami gunakan semula kemudian untuk menambah fail baru.

Untuk setiap dokumen ini, kami juga memanggil OpenDocument, yang kami tentukan di bahagian bawah, dan pada simbol silang kami memanggil Deletedocument, yang akan kami tentukan seterusnya.

Memadam dokumen

Untuk memadam dokumen kami, kami akan meminta pengguna jika mereka pasti sebelum kami pergi dan hubungi /hapus laluan dan pergi nuklear pada fail itu. Daripada membuang panggilan lain ke API kami, kami menyemak bahawa status yang dikembalikan adalah 200 untuk memadamkan elemen DOM secara langsung:

- node_modules
- public
    - backups
    - css
        - main.css
    - documents
        - sample.docx
    - javascript
        - main.js
    - samples
        - new.docx
        - new.xlsx
        - new.pptx
- app.js
- index.html
- package.json
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Buat dokumen

Ingat bahawa fungsi yang kita panggil dalam pengendalian kawalan penciptaan dokumen? Di sini anda pergi:

<span>const express = require('express');
</span><span>const bodyParser = require("body-parser");
</span><span>const path = require('path');
</span><span>const fs = require('fs');
</span><span>const syncRequest = require('sync-request');
</span>
<span>const app = express();
</span>
app<span>.use(bodyParser.json());
</span>app<span>.use(bodyParser.urlencoded({ extended: false }));
</span>
app<span>.use(express.static("public"));
</span>
app<span>.get("/", (req<span>, res</span>) => {
</span>  res<span>.sendFile(path.join(__dirname, "/index.html"));
</span><span>});
</span>
<span>const port = process.env.PORT || 3000;
</span>app<span>.listen(port, () => console.log(<span>`App listening on http://localhost:<span>${port}</span>`</span>));
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
sangat sederhana. Kami menggesa nama itu, hubungi /membuat laluan dengan itu sebagai parameter nama fail, dan jika status itu kembali sebagai 200 kami memanggil AddDocumentHtml untuk menambah elemen DOM secara langsung.

Membuka dokumen dalam dokumen sahaja

Sekarang kita perlu menentukan fungsi EditDocument. Tambahkan kod berikut ke main.js:

app<span>.get("/documents", (req<span>, res</span>) => {
</span>  <span>const docsPath = path.join(__dirname, "public/documents");
</span>  <span>const docsPaths = fs.readdirSync(docsPath);
</span>
  <span>const fileNames = [];
</span>
  docsPaths<span>.forEach(filePath => {
</span>    <span>const fileName = path.basename(filePath);
</span>    fileNames<span>.push(fileName);
</span>  <span>});
</span>
  res<span>.send(fileNames);
</span><span>});
</span>
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Jadi, kami telah menambah tiga fungsi. Mari kita fokus pada dua yang terakhir. (Kami akan bercakap mengenai editdocument dalam seketika.)

GenerateKey juga akan membantu kami dengan menjana kunci. Ini adalah pengenal dokumen yang unik yang digunakan untuk pengiktirafan dokumen oleh perkhidmatan. Ia boleh mempunyai panjang maksimum 20 dan tiada aksara khas. Dan inilah silap mata: ia perlu diperbaharui setiap kali dokumen itu disimpan. Adakah anda melihat ke mana ini berlaku? Tepat! Kami akan mendapat keuntungan dari nama fail sandaran kami untuk menjana kunci kami.

seperti yang anda lihat, untuk menghasilkan kunci yang kami ambil satu -satunya sandaran kami (jika ada) dan menggunakan namanya atau sebaliknya mudah mendapatkan masa semasa dalam milisaat jika tidak ada.

Apa yang perlu diubah dalam fungsi itu jika anda menyokong lebih banyak sandaran?

[Runs Away]

GetDocumentType akan mengembalikan sama ada teks, spreadsheet atau persembahan. OnlyOffice memerlukan ini untuk mengetahui editor mana yang akan dibuka.

EditDocument adalah apa yang kita ada di sini. Inilah yang anda tunggu sepanjang masa. Di sini kita meneliti objek DocEditor yang melepasi ID div pemegang tempat kami dan objek dengan sekumpulan konfigurasi.

Konfigurasi DocEditor

Apa yang saya tunjukkan kepada anda setakat ini adalah pilihan minimum yang diperlukan untuk memberi contoh kepada Doceditor. Anda perlu menyemak bahagian Parameter Lanjutan dalam DOCS untuk melihat bagaimana anda boleh mendapat keuntungan dari semua pilihan yang berbeza. Sementara itu, izinkan saya membawa anda melalui fundamental.

di bahagian atas, kami mempunyai medan dokumen yang mengambil objek yang mengandungi maklumat mengenai dokumen yang ingin kami buka.

maka kita mempunyai DocumentType, yang, seperti yang kita lihat sebelumnya, boleh sama ada teks, spreadsheet, atau persembahan.

betul di bawah itu adalah objek EditorConfig, yang membolehkan anda menetapkan perkara seperti Spellcheck, Unit dan Zoom, antara lain. Dalam kes ini, kami hanya menggunakan callbackurl, yang merupakan URL ke laluan /trek yang akan digunakan oleh pelayan dokumen untuk menyimpan fail.

Kesimpulan

Kami telah sampai ke akhir, dan anda sememangnya telah belajar bagaimana untuk menubuhkan dan mengintegrasikan dokumen sahaja dengan aplikasi web anda. Terdapat banyak yang kami tinggalkan, seperti kebenaran, perkongsian, penyesuaian dan banyak perkara lain yang boleh anda lakukan dengan OnlyOffice.

Saya harap anda mempunyai maklumat yang cukup untuk terus meningkatkan produk anda, atau mungkin juga inspirasi untuk memulakan projek baru dari awal. Tidak ada masa seperti sekarang.

Baiklah, saya akan melihat anda dalam yang berikutnya. Sementara itu, teruskan pengekodan dan ingat untuk bersenang -senang semasa anda berada!

Soalan Lazim (Soalan Lazim) Mengenai Menambah Fungsi Pejabat ke Aplikasi Web Anda Dengan OnlyOffice

Bagaimana saya boleh mengintegrasikan hanya ke dalam aplikasi web saya yang sedia ada? Pertama, anda perlu memasang pelayan dokumen OnlyOffice, yang merupakan teras OnlyOffice. Ini boleh dilakukan menggunakan Docker, yang merupakan kaedah yang disyorkan, atau secara manual. Sebaik sahaja pelayan dokumen dipasang, anda boleh menggunakan API OnlyOffice untuk mengintegrasikannya ke dalam aplikasi web anda. API menyediakan satu set kaedah untuk bekerja dengan dokumen, spreadsheet, dan persembahan. Anda boleh menggunakan kaedah ini untuk membuka, mengedit, dan menyimpan dokumen dalam aplikasi web anda. Ia membolehkan pengguna membuat, melihat, dan mengedit dokumen secara langsung dalam aplikasi, tanpa perlu memuat turunnya atau menggunakan program berasingan. Ini dapat meningkatkan pengalaman pengguna dan produktiviti. OnlyOffice juga menyokong kerjasama masa nyata, yang membolehkan beberapa pengguna bekerja pada dokumen yang sama serentak. Selain itu, OnlyOffice menyokong pelbagai format dokumen, termasuk format Microsoft Office dan format OpenDocument.

Bolehkah saya menggunakan OnlyOffice dengan React?

Ya, OnlyOffice boleh digunakan dengan React. API OnlyOffice menyediakan komponen React yang boleh anda gunakan untuk mengintegrasikan sahaja ke dalam aplikasi React anda. Komponen ini menyediakan satu set prop dan kaedah untuk bekerja dengan dokumen. Anda boleh menggunakan alat dan kaedah ini untuk membuka, mengedit, dan menyimpan dokumen dalam aplikasi React anda. disediakan oleh API OnlyOffice. Objek ini membolehkan anda menukar penampilan dan tingkah laku antara muka sahaja. Sebagai contoh, anda boleh menukar skema warna, menyembunyikan atau menunjukkan butang tertentu, dan membolehkan atau melumpuhkan ciri -ciri tertentu. Ia menggunakan penyulitan SSL untuk melindungi data dalam transit, dan ia membolehkan anda mengawal siapa yang mempunyai akses kepada dokumen anda. Selain itu, OnlyOffice adalah sumber terbuka, yang bermaksud kodnya tersedia secara terbuka untuk semakan dan pengawasan. Ini bermakna bahawa pelbagai pengguna boleh bekerja pada dokumen yang sama secara serentak, melihat perubahan masing -masing dalam masa nyata. Ini boleh meningkatkan kerja berpasukan dan produktiviti. API OnlyOffice menyediakan komponen untuk rangka kerja ini, yang membolehkan anda mengintegrasikan sahaja ke dalam aplikasi sudut atau vue anda. Format dokumen, termasuk format Microsoft Office (seperti .docx, .xlsx, dan .pptx) dan format OpenDocument (seperti .odt, .ods, dan .odp). Ia juga menyokong format lain, seperti .txt dan .csv.

Bolehkah saya menggunakan OnlyOffice pada peranti mudah alih? Ini bermakna pengguna boleh membuat, melihat, dan mengedit dokumen pada telefon pintar atau tablet mereka, memberikan pengalaman lancar di seluruh peranti. Komuniti untuk pemaju sahaja. Komuniti ini menyediakan forum untuk pemaju untuk bertanya soalan, berkongsi tips dan trik, dan bekerjasama dalam projek. Ia adalah sumber yang hebat untuk sesiapa sahaja yang sedang dibangunkan dengan OnlyOffice.

Atas ialah kandungan terperinci Tambahkan fungsi pejabat ke aplikasi web anda dengan OnlyOffice. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1673
14
Tutorial PHP
1278
29
Tutorial C#
1257
24
Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Apr 16, 2025 am 12:12 AM

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

JavaScript dan Web: Fungsi teras dan kes penggunaan JavaScript dan Web: Fungsi teras dan kes penggunaan Apr 18, 2025 am 12:19 AM

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.

JavaScript in Action: Contoh dan projek dunia nyata JavaScript in Action: Contoh dan projek dunia nyata Apr 19, 2025 am 12:13 AM

Aplikasi JavaScript di dunia nyata termasuk pembangunan depan dan back-end. 1) Memaparkan aplikasi front-end dengan membina aplikasi senarai TODO, yang melibatkan operasi DOM dan pemprosesan acara. 2) Membina Restfulapi melalui Node.js dan menyatakan untuk menunjukkan aplikasi back-end.

Memahami Enjin JavaScript: Butiran Pelaksanaan Memahami Enjin JavaScript: Butiran Pelaksanaan Apr 17, 2025 am 12:05 AM

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Apr 15, 2025 am 12:16 AM

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Python vs JavaScript: Persekitaran dan Alat Pembangunan Python vs JavaScript: Persekitaran dan Alat Pembangunan Apr 26, 2025 am 12:09 AM

Kedua -dua pilihan Python dan JavaScript dalam persekitaran pembangunan adalah penting. 1) Persekitaran pembangunan Python termasuk Pycharm, Jupyternotebook dan Anaconda, yang sesuai untuk sains data dan prototaip cepat. 2) Persekitaran pembangunan JavaScript termasuk node.js, vscode dan webpack, yang sesuai untuk pembangunan front-end dan back-end. Memilih alat yang betul mengikut keperluan projek dapat meningkatkan kecekapan pembangunan dan kadar kejayaan projek.

Peranan C/C dalam JavaScript Jurubah dan Penyusun Peranan C/C dalam JavaScript Jurubah dan Penyusun Apr 20, 2025 am 12:01 AM

C dan C memainkan peranan penting dalam enjin JavaScript, terutamanya digunakan untuk melaksanakan jurubahasa dan penyusun JIT. 1) C digunakan untuk menghuraikan kod sumber JavaScript dan menghasilkan pokok sintaks abstrak. 2) C bertanggungjawab untuk menjana dan melaksanakan bytecode. 3) C melaksanakan pengkompil JIT, mengoptimumkan dan menyusun kod hot-spot semasa runtime, dan dengan ketara meningkatkan kecekapan pelaksanaan JavaScript.

Python vs JavaScript: Gunakan Kes dan Aplikasi Membandingkan Python vs JavaScript: Gunakan Kes dan Aplikasi Membandingkan Apr 21, 2025 am 12:01 AM

Python lebih sesuai untuk sains data dan automasi, manakala JavaScript lebih sesuai untuk pembangunan front-end dan penuh. 1. Python berfungsi dengan baik dalam sains data dan pembelajaran mesin, menggunakan perpustakaan seperti numpy dan panda untuk pemprosesan data dan pemodelan. 2. Python adalah ringkas dan cekap dalam automasi dan skrip. 3. JavaScript sangat diperlukan dalam pembangunan front-end dan digunakan untuk membina laman web dinamik dan aplikasi satu halaman. 4. JavaScript memainkan peranan dalam pembangunan back-end melalui Node.js dan menyokong pembangunan stack penuh.

See all articles