تبدیل اسناد DOCX به HTML یک نیاز مکرر هنگام ساخت راهحلهای گزارشگیری مبتنی بر وب یا مدیریت محتوا است. GroupDocs.Conversion Cloud SDK for Python به توسعهدهندگان امکان میدهد تا تبدیل DOCX به HTML را در پایتون با تنها چند فراخوانی API خودکار کنند. در این آموزش، شما SDK را تنظیم میکنید، پیادهسازی گامبهگام را مرور میکنید، یک مثال کامل کد را میبینید و یاد میگیرید چگونه خروجی را برای صفحات وب واکنشگرا بهدقت تنظیم کنید.
نیازمندیهای تبدیل DOCX به HTML در پایتون
توسعهدهندگانی که برنامههای وب مبتنی بر اسناد میسازند، اغلب فایلهای DOCX را از کاربران دریافت میکنند و نیاز دارند محتوای آنها را بهسرعت در مرورگرها نمایش دهند. نیازهای معمول عبارتند از:
- حفظ استایل اصلی، جدولها و تصاویر هنگام رندر به HTML.
- تولید مارکاپی که به اندازههای مختلف صفحه نمایش سازگار باشد بدون نیاز به کار اضافی با CSS.
- انجام تبدیل در محیط سرور‑ساید بدون نصب مجموعههای اداری سنگین.
تبدیل دستی با استفاده از ابزارهای دسکتاپ یا کتابخانههای منبع باز میتواند مستعد خطا باشد، بهویژه برای طرحهای پیچیده، و برای بارهای کاری با حجم بالا که توسط API هدایت میشوند، مقیاسپذیر نیست.
رویکرد: تبدیل خودکار DOCX به HTML
GroupDocs.Conversion Cloud SDK for Python یک API مبتنی بر ابر ارائه میدهد که بار سنگین تبدیل فرمتها را بر عهده میگیرد. قابلیتهای کلیدی که با الزامات مطابقت دارند عبارتند از:
- حفظ استایل - موتور فونتها، رنگها و قالببندی پاراگرافها را به همان صورت نگه میدارد.
- خروجی HTML واکنشگرا - گزینههای داخلی طرحهای سیال مناسب برای دستگاههای موبایل تولید میکنند.
- رابط REST مقیاسپذیر - میتوانید سرویس را از هر برنامه Python بدون مدیریت باینریهای تبدیل محلی صدا بزنید.
برای استفاده دقیق از API به مستندات رسمی و مرجع API مراجعه کنید.
ساخت راهحل: تبدیل DOCX به HTML در پایتون
نصب SDK و وارد کردن کلاسهای مورد نیاز
pip install groupdocs-conversion-cloud
from groupdocs_conversion_cloud import (
ConvertApi, ConvertSettings, HtmlOptions,
StorageApi, FileInfo, Configuration, ApiClient
)
پیکربندی کلاینت API با اعتبارها
config = Configuration()
config.client_id = "YOUR_CLIENT_ID"
config.client_secret = "YOUR_CLIENT_SECRET"
api_client = ApiClient(configuration=config)
convert_api = ConvertApi(api_client)
storage_api = StorageApi(api_client)
بارگذاری فایل منبع DOCX
# Assume 'sample.docx' is in the local folder
with open("sample.docx", "rb") as file:
storage_api.upload_file(path="input/sample.docx", file=file)
تبدیل DOCX به HTML واکنشگرا
file_info = FileInfo()
file_info.file_path = "input/sample.docx"
html_options = HtmlOptions()
html_options.responsive = True # Enable responsive layout
html_options.embed_fonts = True # Embed custom fonts if any
convert_settings = ConvertSettings()
convert_settings.file_info = file_info
convert_settings.format = "html"
convert_settings.options = html_options
result = convert_api.convert_document(convert_settings)
# The result contains the URL of the generated HTML file
print("HTML file URL:", result.path)
دانلود فایل HTML تولید شده
output_path = "output/sample.html"
with open(output_path, "wb") as out_file:
storage_api.download_file(path=result.path, out_file=out_file)
print("HTML saved to:", output_path)
مثال کامل کد: تبدیل DOCX به HTML با خروجی واکنشگرا
اسکریپت زیر تمام مراحل را در یک برنامه قابل اجرا ترکیب میکند.
from groupdocs_conversion_cloud import (
ConvertApi, ConvertSettings, HtmlOptions,
StorageApi, FileInfo, Configuration, ApiClient
)
def main():
# 1. Configure the client
config = Configuration()
config.client_id = "YOUR_CLIENT_ID"
config.client_secret = "YOUR_CLIENT_SECRET"
api_client = ApiClient(configuration=config)
convert_api = ConvertApi(api_client)
storage_api = StorageApi(api_client)
# 2. Upload DOCX file
local_file = "sample.docx"
remote_path = "input/sample.docx"
with open(local_file, "rb") as f:
storage_api.upload_file(path=remote_path, file=f)
# 3. Prepare conversion settings
file_info = FileInfo()
file_info.file_path = remote_path
html_options = HtmlOptions()
html_options.responsive = True
html_options.embed_fonts = True
settings = ConvertSettings()
settings.file_info = file_info
settings.format = "html"
settings.options = html_options
# 4. Execute conversion
result = convert_api.convert_document(settings)
print("Conversion completed. HTML URL:", result.path)
# 5. Download the HTML result
output_file = "sample_converted.html"
with open(output_file, "wb") as out:
storage_api.download_file(path=result.path, out_file=out)
print("HTML saved to:", output_file)
if __name__ == "__main__":
main()
توجه: این مثال کد عملکرد اصلی را نشان میدهد. پیش از استفاده از آن در پروژه خود، مطمئن شوید مسیرهای فایل (
sample.docx,sample_converted.html) بهروز شدهاند، تأیید کنید تمام وابستگیهای مورد نیاز بهدرستی نصب شدهاند و بهطور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی مراجعه کنید یا برای دریافت کمک به تیم پشتیبانی مراجعه نمایید.
اتوماتیکسازی تبدیل DOCX به HTML با cURL و REST API
میتوانید همان تبدیل را بدون نوشتن کد Python با استفاده از دستورات cURL در برابر نقطه انتهایی REST انجام دهید.
1. دریافت توکن دسترسی
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
پاسخ شامل access_token است که در تماسهای بعدی از آن استفاده خواهید کرد.
۲. بارگذاری فایل DOCX
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input/sample.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary "@sample.docx"
3. درخواست تبدیل DOCX به HTML واکنشگرا
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileInfo": { "filePath": "input/sample.docx" },
"format": "html",
"options": { "responsive": true, "embedFonts": true }
}'
پاسخ یک شیء JSON را برمیگرداند که شامل path فایل HTML تولید شده است.
4. دانلود نتیجه HTML
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/output/sample.html" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o sample_converted.html
برای دریافت فهرست کامل پارامترها، به مرجع API مراجعه کنید.
تنظیمات دقیق تبدیل DOCX به HTML واکنشگرا
SDK چندین گزینه را ارائه میدهد که به شما امکان کنترل کیفیت و اندازه HTML تولید شده را میدهد.
- پرچم واکنشگرا -
html_options.responsive = Trueیک wrapper CSS سازگار با viewport اضافه میکند. - جاسازی قلمها -
html_options.embed_fonts = Trueاطمینان میدهد قلمهای سفارشی بهصورت داده base64 گنجانده شوند. - حفظ تصاویر -
html_options.extract_images = Falseتصاویر را بهصورت درونخطی نگه میدارد بهجای ایجاد فایلهای جداگانه. - CSS سفارشی - میتوانید یک رشته CSS را از طریق
html_options.cssارائه دهید تا استایلگذاری سراسری سایت اعمال شود.
مثال برای تنظیم یک رشته CSS سفارشی:
custom_css = "body {font-family: Arial, sans-serif; line-height: 1.6;}"
html_options.css = custom_css
این تنظیمات را بر اساس نیازهای رابط کاربری وب خود تنظیم کنید.
نتیجهگیری
GroupDocs.Conversion Cloud SDK for Python تبدیل DOCX به HTML در پایتون را ساده، قابل اعتماد و مقیاسپذیر میکند. با دنبال کردن مراحل بالا میتوانید تبدیل خودکار را در هر سرویس بکاندی یکپارچه کنید، نشانهگذاری واکنشگرا تولید کنید و کنترل کامل بر استایلها و داراییها داشته باشید. بهخاطر داشته باشید که برای استفاده در محیط تولید یک لایسنس مناسب تهیه کنید؛ جزئیات قیمتگذاری در صفحه محصول موجود است و میتوانید برای ارزیابی یک صفحه لایسنس موقت دریافت کنید. با داشتن SDK، ارائه پیشنمایشهای غنی HTML از منابع DOCX به بخشی روتین از جریان کاری برنامه شما تبدیل میشود.
FAQs
چگونه میتوانم تبدیل DOCX به HTML را در پایتون با استفاده از GroupDocs انجام دهم؟
از Convert API موجود در GroupDocs.Conversion Cloud SDK for Python استفاده کنید،HtmlOptionsرا برای خروجی واکنشگرا پیکربندی کنید وconvert_documentرا فراخوانی کنید. SDK یک URL به فایل HTML تولید شده برمیگرداند.آیا میتوان خروجی HTML را برای موبایلدوست کرد؟
بله،html_options.responsive = Trueرا تنظیم کنید. SDK CSS را تزریق میکند که بهطور خودکار طرحبندی را با عرضهای مختلف صفحه سازگار میکند.SDK چه مکانیزم احراز هویتی را میطلبد؟
SDK از جریان OAuth client‑credentials استفاده میکند.client_idوclient_secretخود را در شیءConfigurationقبل از ایجاد نمونههای API فراهم کنید.آیا برای فایلهای DOCX محدودیت اندازه وجود دارد؟
سرویس ابری فایلها را تا ۱۰۰ MB برای تبدیل میپذیرد. اسناد بزرگتر باید قبل از بارگذاری به بخشهای کوچک تقسیم یا به صورت تکهتکه پردازش شوند.
