Mengonversi halaman HTML yang kaya menjadi file DOCX yang dapat diedit adalah kebutuhan yang sering muncul dalam alur kerja pelaporan dan otomatisasi dokumen. GroupDocs.Conversion Cloud SDK for Node.js memungkinkan pengembang melakukan konversi ini sepenuhnya melalui pustaka berbasis REST. Dalam tutorial ini Anda akan melihat cara menyiapkan SDK, menulis kode Node.JS yang melakukan konversi HTML ke DOCX di Node.JS, menggunakan cURL untuk memanggil API, dan menerapkan opsi konfigurasi untuk hasil optimal.
Prasyarat dan Penyiapan
Sebelum Anda memulai, pastikan Anda memiliki hal berikut:
- Node.js 14 atau lebih baru terpasang di mesin pengembangan Anda.
- Akun GroupDocs.Conversion Cloud yang aktif (Anda dapat mendaftar untuk percobaan gratis di halaman produk).
- Client ID dan Client Secret Anda dari dasbor GroupDocs Cloud.
- Konektivitas internet untuk memanggil REST API cloud.
Instal SDK melalui npm:
npm install groupdocs-conversion-cloud
Unduh paket terbaru dan lihat sumbernya di GitHub jika Anda perlu menjelajahi kode:
Unduh GroupDocs.Conversion Cloud SDK for Node.js
Dengan SDK yang terpasang dan kredensial siap, Anda dapat melanjutkan ke implementasi.
Konversi HTML ke DOCX di Node.JS: Panduan Langkah-demi-Langkah
Di bawah ini adalah panduan singkat yang menunjukkan setiap langkah logis. Kode sumber lengkap disediakan nanti.
Langkah 1: Inisialisasi Klien API Konversi
Buat sebuah instance dari ConversionApi dan konfigurasikan autentikasi.
const { ConversionApi, Configuration } = require('groupdocs-conversion-cloud');
const config = new Configuration({
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET'
});
const conversionApi = new ConversionApi(config);
Langkah 2: Unggah File Sumber HTML
Unggah file HTML yang ingin Anda konversi. API mengembalikan pengenal file yang akan Anda gunakan untuk konversi.
const fs = require('fs');
const path = require('path');
const htmlPath = path.resolve(__dirname, 'sample.html');
const fileBytes = fs.readFileSync(htmlPath);
const uploadResponse = await conversionApi.uploadFile({
file: fileBytes,
fileName: 'sample.html'
});
const sourceFileId = uploadResponse.id;
Langkah 3: Atur Opsi Konversi
Konfigurasikan opsi khusus DOCX apa pun, seperti menyematkan font atau mengatur margin halaman. Langkah ini menunjukkan penyesuaian Pembuatan DOCX dari HTML.
const convertSettings = {
outputFormat: 'DOCX',
options: {
embedFonts: true,
pageSize: 'A4',
marginTop: 20,
marginBottom: 20,
marginLeft: 15,
marginRight: 15
}
};
Langkah 4: Jalankan Konversi
Panggil metode convert dengan ID file sumber dan pengaturan yang didefinisikan di atas.
const convertResponse = await conversionApi.convert({
fileId: sourceFileId,
convertSettings: convertSettings
});
const docxFileId = convertResponse.id;
Langkah 5: Unduh DOCX yang Dihasilkan
Ambil file DOCX yang dihasilkan dan simpan secara lokal.
const docxData = await conversionApi.downloadFile({ fileId: docxFileId });
fs.writeFileSync(path.resolve(__dirname, 'output.docx'), docxData);
console.log('DOCX file saved as output.docx');
Langkah-langkah di atas menggambarkan alur kerja konversi HTML ke DOCX di Node.JS yang lengkap menggunakan GroupDocs.Conversion Cloud SDK.
Contoh Kode Lengkap: Menghasilkan DOCX dari Konten HTML
Program berikut menggabungkan semua bagian menjadi satu skrip yang dapat dijalankan.
// Full working example for HTML to DOCX conversion using GroupDocs.Conversion Cloud SDK for Node.js
const { ConversionApi, Configuration } = require('groupdocs-conversion-cloud');
const fs = require('fs');
const path = require('path');
async function convertHtmlToDocx() {
// 1. Configure the API client
const config = new Configuration({
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET'
});
const conversionApi = new ConversionApi(config);
// 2. Read the HTML file
const htmlPath = path.resolve(__dirname, 'sample.html');
const htmlBytes = fs.readFileSync(htmlPath);
// 3. Upload the HTML file
const uploadResult = await conversionApi.uploadFile({
file: htmlBytes,
fileName: 'sample.html'
});
const sourceFileId = uploadResult.id;
// 4. Define conversion settings
const convertSettings = {
outputFormat: 'DOCX',
options: {
embedFonts: true,
pageSize: 'A4',
marginTop: 20,
marginBottom: 20,
marginLeft: 15,
marginRight: 15
}
};
// 5. Perform the conversion
const convertResult = await conversionApi.convert({
fileId: sourceFileId,
convertSettings: convertSettings
});
const docxFileId = convertResult.id;
// 6. Download the DOCX file
const docxBytes = await conversionApi.downloadFile({ fileId: docxFileId });
const outputPath = path.resolve(__dirname, 'output.docx');
fs.writeFileSync(outputPath, docxBytes);
console.log(`Conversion successful. DOCX saved to ${outputPath}`);
}
// Execute the conversion
convertHtmlToDocx().catch(err => {
console.error('Conversion failed:', err);
});
Catatan: Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui jalur file (
sample.html,output.docx), memverifikasi bahwa semua dependensi yang diperlukan telah terpasang dengan benar, dan melakukan pengujian menyeluruh di lingkungan pengembangan Anda. Jika Anda mengalami masalah, silakan merujuk ke dokumentasi resmi atau hubungi tim dukungan untuk bantuan.
Menjalankan Konversi via cURL dan REST API
Jika Anda lebih suka bekerja langsung dengan HTTP, perintah cURL berikut melakukan konversi yang sama.
- Dapatkan token akses
Ganti YOUR_CLIENT_ID dan YOUR_CLIENT_SECRET dengan kredensial Anda.
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
Respons berisi access_token.
- Unggah file HTML
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/files/sample.html" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.html"
- Mulai konversi
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sourceFilePath": "sample.html",
"outputFilePath": "output.docx",
"outputFormat": "DOCX",
"options": {
"embedFonts": true,
"pageSize": "A4"
}
}'
- Unduh DOCX yang telah dikonversi
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/files/output.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.docx
Untuk daftar lengkap parameter, lihat dokumentasi API resmi.
Mengonfigurasi Opsi untuk Konversi Konten HTML ke DOCX
SDK menyediakan beberapa properti yang memungkinkan Anda menyesuaikan output secara halus:
- embedFonts - Menyematkan semua font yang direferensikan ke dalam DOCX, memastikan kesetiaan visual.
- pageSize - Menetapkan ukuran halaman (
A4,Letter, dll.). - marginTop / marginBottom / marginLeft / marginRight - Menyesuaikan margin halaman dalam poin.
Contoh penerapan opsi-opsi ini:
const convertSettings = {
outputFormat: 'DOCX',
options: {
embedFonts: true,
pageSize: 'Letter',
marginTop: 30,
marginBottom: 30,
marginLeft: 20,
marginRight: 20
}
};
Lihat kelas ConversionOptions untuk daftar lengkap.
Pertimbangan Kinerja untuk Konversi Konten HTML ke DOCX
Saat mengonversi dokumen HTML yang besar atau kompleks, ingatlah tips berikut:
- Gunakan kembali klien API - Membuat instance
ConversionApibaru untuk setiap file menambah beban. - Stream file HTML besar - Alih-alih memuat seluruh file ke memori, gunakan stream (
fs.createReadStream) dan metodeuploadFileStreamdari SDK. - Batasi sumber daya tersemat - Hapus gambar atau skrip yang tidak diperlukan dari HTML sebelum mengunggah untuk mengurangi waktu pemrosesan.
- Konversi batch - Proses file secara berurutan dalam loop, tetapi patuhi batas laju API untuk menghindari throttling.
Menerapkan praktik ini membantu menjaga latensi rendah dan konsumsi memori yang wajar.
Kesimpulan
Konversi HTML ke DOCX di Node.JS menjadi sederhana dengan GroupDocs.Conversion Cloud SDK for Node.js. Dengan mengikuti langkah‑langkah di atas, Anda dapat mengintegrasikan pembuatan DOCX yang andal dari HTML ke dalam aplikasi sisi‑server apa pun, menyesuaikan output, dan mengoptimalkan kinerja untuk beban kerja yang besar. Ingatlah untuk memperoleh lisensi yang tepat untuk penggunaan produksi; Anda dapat membeli langganan atau mendapatkan lisensi sementara dari halaman lisensi sementara. Selamat mengoding!
FAQs
Bagaimana cara memulai konversi HTML ke DOCX di Node.JS?
Gunakan SDK untuk membuat klien ConversionApi, unggah file HTML Anda, atur opsi konversi yang diinginkan, dan panggil metode convert. Proses ini sepenuhnya asynchronous dan mengembalikan pengidentifikasi file DOCX untuk diunduh.
Opsi apa yang dapat saya sesuaikan untuk pembuatan DOCX dari HTML?
Objek ConversionOptions memungkinkan Anda menyematkan font, memilih ukuran halaman, mengatur margin, dan mengontrol penanganan gambar. Lihat referensi API untuk semua pengaturan yang tersedia.
Bisakah saya mengonversi HTML yang berisi CSS eksternal atau gambar?
Ya. Unggah semua sumber daya yang direferensikan (CSS, gambar) ke folder penyimpanan yang sama sebelum memulai konversi, dan SDK akan menyelesaikan tautan selama pemrosesan.
Apakah saya memerlukan lisensi untuk penyebaran produksi?
Lisensi yang valid diperlukan untuk produksi. Anda dapat memperoleh lisensi sementara untuk pengujian dari halaman lisensi sementara dan membeli langganan penuh ketika Anda siap untuk meluncurkan.
