Python'da REST API kullanarak Word Belgelerini Düzenleyin

Belirli durumlarda, Word belgelerini programlı olarak düzenlememiz gerekebilir. Python kullanarak DOC veya DOCX dosyalarının içeriğini kolayca ekleyebilir, düzenleyebilir veya silebilir veya metin biçimlendirme uygulayabiliriz. Bu yazıda, Python’da bir REST API kullanarak Word belgelerini nasıl düzenleyeceğimizi öğreneceğiz.

Bu yazıda aşağıdaki konular ele alınacaktır:

Word Document Editor REST API ve Python SDK

DOCX dosyalarını düzenlemek için GroupDocs.Editor Cloud’un Python SDK API’sini kullanacağız. Lütfen konsolda aşağıdaki komutu kullanarak kurun:

pip install groupdocs_editor_cloud

Belirtilen adımları izlemeden önce lütfen panodan Müşteri Kimliğinizi ve Sırrınızı alın. Kimliğinizi ve sırrınızı aldıktan sonra, kodu aşağıda gösterildiği gibi ekleyin:

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_editor_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Python’da REST API kullanarak Word Belgelerini Düzenleyin

Aşağıda belirtilen basit adımları izleyerek Word belgelerini düzenleyebiliriz:

  1. DOCX dosyasını Buluta Yükle
  2. Düzenle Python kullanan Word belgesi
  3. Güncellenen dosyayı İndir

Belgeyi Yükle

Öncelikle aşağıda verilen kod örneğini kullanarak DOCX dosyasını Buluta yükleyeceğiz:

# API'nin bir örneğini oluşturun
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# Örnek dosyaları yükleyin
request = groupdocs_editor_cloud.UploadFileRequest("sample.docx", "C:\\Files\\Editor\\sample.docx", my_storage)
response = file_api.upload_file(request)

Sonuç olarak, yüklenen DOCX dosyası, bulut üzerindeki kontrol panelinin dosyalar bölümünde mevcut olacaktır.

Python kullanarak Word Belgesini Düzenleyin

Aşağıda verilen adımları izleyerek Word belgesini programlı olarak düzenleyebiliriz:

  • İlk olarak, FileApi ve EditApi örneklerini oluşturun.
  • Ardından, bir FileInfo örneği oluşturun ve giriş DOCX dosya yolunu sağlayın.
  • Ardından, WordProcessingLoadOptions’ın bir örneğini başlatın ve FileInfo’yu atayın.
  • Ardından, bağımsız değişken olarak WordProcessingLoadOptions nesnesi ile LoadRequest oluşturun.
  • Ardından, girdi DOCX dosyasını yüklemek için LoadRequest nesnesiyle EditApi.load() yöntemini çağırın.
  • Bundan sonra, yüklenen dosya ile DownloadFileRequest’i oluşturun.
  • Ardından, dosyayı bir HTML belgesi olarak indirmek için FileApi.download\file() yöntemini çağırın.
  • Ardından, indirilen HTML dosyasını bir dize olarak okuyun.
  • Ardından, HTML’yi düzenleyin ve güncellenmiş HTML belgesini kaydedin.
  • Ardından, UploadFileRequest oluşturun ve HTML yolunu ve dosyasını parametre olarak iletin.
  • Ardından, güncellenmiş HTML dosyasını yüklemek için UploadFileRequest ile FileApi.upload\file() yöntemini çağırın.
  • Ardından, DOCX’e kaydetmek için WordProcessingSaveOptions’ın bir örneğini oluşturun.
  • Ardından WordProcessingSaveOptions nesnesi ile SaveRequest oluşturun.
  • Son olarak, SaveRequest nesnesiyle EditApi.save() yöntemini kullanarak HTML’yi tekrar DOCX’e kaydedin.

Aşağıdaki kod örneği, Python’da bir REST API kullanarak bir Word belgesinin nasıl düzenleneceğini gösterir.

# API'lerin örneklerini başlat
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Giriş dosyası yolunu sağlayın
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Düzenlenebilir duruma yüklemek için YükOptions tanımlayın
loadOptions = groupdocs_editor_cloud.WordProcessingYükOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Yükleme isteği oluştur
loadRequest = groupdocs_editor_cloud.YükRequest(loadOptions)

# Yük
loadResult = editApi.load(loadRequest)        

# İndirme isteği oluştur
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Html belgesini indir
htmlFile = fileApi.download_file(downloadRequest)

# html belgesini okuyun
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Bir şeyi düzenleyin...    
html = html.replace("Title of the document", "Hello world")
html = html.replace("Subtitle #1", "Welcome")

# Html'yi dosyaya geri yaz
with open(htmlFile, 'w') as file:
    file.write(html)

# Yükleme isteği oluştur
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Dosya yükleme
fileApi.upload_file(uploadRequest)

# Html'yi docx'e geri kaydet
saveOptions = groupdocs_editor_cloud.WordProcessingKaydetmekOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/edited.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Kaydetme isteği oluştur
saveRequest = groupdocs_editor_cloud.KaydetmekRequest(saveOptions)

# Kaydetmek
saveResult = editApi.save(saveRequest)

# Tamamlamak
print("Document edited: " + saveResult.path)
Python'da REST API kullanarak Word Belgelerini düzenleyin.

Python’da REST API kullanarak Word Belgelerini düzenleyin.

Güncellenmiş Dosyayı İndirin

Yukarıdaki kod örneği, düzenlenen Word belgesini (DOCX) buluta kaydedecektir. Aşağıdaki kod örneği kullanılarak indirilebilir:

# API başlatma
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# İndirme dosyası isteği oluştur
request = groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", my_storage)

# Dosyayı indir
response = file_api.download_file(request)

# İndirilen dosyayı çalışma dizininize taşıyın
shutil.move(response, "C:\\Files\\Editor\\")

Python Kullanarak Word Belgelerine Tablo Ekleme

Daha önce bahsedilen adımları izleyerek programlı olarak Word belgelerine tablo ekleyebiliriz. Ancak, belgeye aşağıda gösterildiği gibi bir tablo eklemek için HTML’yi güncellememiz gerekiyor:

html = html.replace("left-aligned.", """left-aligned. <br/><table style="width: 100%;background-color: #dddddd;">
	<caption style=\"font-weight:bold;\"> Persons List</caption>
	<tr><th>First Name</th><th>Last Name</th><th>Age</th></tr>
	<tr><td>Jill</td><td>Smith</td><td>50</td></tr>
	<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>
	</table>""")

Aşağıdaki kod örneği, Python’da REST API kullanarak bir Word belgesine nasıl tablo ekleneceğini gösterir. Dosya yüklemek ve indirmek için lütfen daha önce belirtilen adımları izleyin.

# API'lerin örneklerini başlat
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Giriş dosyası yolunu sağlayın
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Düzenlenebilir duruma yüklemek için YükOptions tanımlayın
loadOptions = groupdocs_editor_cloud.WordProcessingYükOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Yükleme isteği oluştur
loadRequest = groupdocs_editor_cloud.YükRequest(loadOptions)

# Yük
loadResult = editApi.load(loadRequest)        

# İndirme isteği oluştur
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Html belgesini indir
htmlFile = fileApi.download_file(downloadRequest)

# html belgesini okuyun
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# Tablo ekle
html = html.replace("left-aligned.", """left-aligned. <br/><table style="width: 100%;background-color: #dddddd;">
  <caption style=\"font-weight:bold;\"> Persons List</caption>
  <tr><th>First Name</th><th>Last Name</th><th>Age</th></tr>
  <tr><td>Jill</td><td>Smith</td><td>50</td></tr>
  <tr><td>Eve</td><td>Jackson</td><td>94</td></tr>
  </table>""")

# Html'yi dosyaya geri yaz
with open(htmlFile, 'w') as file:
    file.write(html)

# Yükleme isteği oluştur
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Dosya yükleme
fileApi.upload_file(uploadRequest)

# Html'yi docx'e geri kaydet
saveOptions = groupdocs_editor_cloud.WordProcessingKaydetmekOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_table.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Kaydetme isteği oluştur
saveRequest = groupdocs_editor_cloud.KaydetmekRequest(saveOptions)

# Kaydetmek
saveResult = editApi.save(saveRequest)

# Tamamlamak
print("Document edited: " + saveResult.path)
Python kullanarak Word Belgelerine Tablo Ekleyin.

Python kullanarak Word Belgelerine Tablo Ekleyin.

Python kullanarak Word Belgelerine Resim Ekleme

Daha önce bahsedilen adımları izleyerek programlı olarak Word belgelerine bir resim ekleyebiliriz. Ancak, aşağıda gösterildiği gibi belgeye bir resim eklemek için HTML’yi güncellememiz gerekiyor:

html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");

Aşağıdaki kod örneği, Python’da bir REST API kullanarak bir Word belgesine nasıl resim ekleneceğini gösterir. Dosya yüklemek ve indirmek için lütfen daha önce belirtilen adımları izleyin.

# API'lerin örneklerini başlat
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# Giriş dosyası yolunu sağlayın
fileInfo = groupdocs_editor_cloud.FileInfo("sample.docx")

# Düzenlenebilir duruma yüklemek için YükOptions tanımlayın
loadOptions = groupdocs_editor_cloud.WordProcessingYükOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"

# Yükleme isteği oluştur
loadRequest = groupdocs_editor_cloud.YükRequest(loadOptions)

# Yük
loadResult = editApi.load(loadRequest)        

# İndirme isteği oluştur
downloadRequest = groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path)

# Html belgesini indir
htmlFile = fileApi.download_file(downloadRequest)

# html belgesini okuyun
html = ""       
with open(htmlFile, 'r') as file:
    html = file.read()

# resim ekle
html = html.replace("left-aligned.", """left-aligned. <br/> <img src=\"groupdocs.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">""");

# Html'yi dosyaya geri yaz
with open(htmlFile, 'w') as file:
    file.write(html)

# Yükleme isteği oluştur
uploadRequest = groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile)

# Dosya yükleme
fileApi.upload_file(uploadRequest)

# Html'yi docx'e geri kaydet
saveOptions = groupdocs_editor_cloud.WordProcessingKaydetmekOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "output/add_image.docx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path

# Kaydetme isteği oluştur
saveRequest = groupdocs_editor_cloud.KaydetmekRequest(saveOptions)

# Kaydetmek
saveResult = editApi.save(saveRequest)

# Tamamlamak
print("Document edited: " + saveResult.path)
Python'da REST API kullanarak Word Belgelerini Düzenleyin

Python kullanarak Word Belgelerine Resim Ekleme.

Çevrimiçi Deneyin

Lütfen yukarıdaki API kullanılarak geliştirilen aşağıdaki ücretsiz çevrimiçi DOCX düzenleme aracını deneyin. https://products.groupdocs.app/editor/docx

Çözüm

Bu yazımızda Word belgelerinin bulut üzerinde nasıl düzenleneceğini öğrendik. Ayrıca Python’da bir REST API kullanarak DOCX dosyasına tablo eklemeyi veya resim eklemeyi de gördük. Bu makalede ayrıca bir DOCX dosyasının programlı olarak buluta nasıl yükleneceği ve ardından düzenlenen dosyanın Buluttan nasıl indirileceği açıklanmaktadır. Ayrıca belgeleri kullanarak GroupDocs.Editor Cloud API hakkında daha fazla bilgi edinebilirsiniz. Ayrıca, API’lerimizi doğrudan tarayıcı aracılığıyla görselleştirmenize ve bunlarla etkileşimde bulunmanıza olanak tanıyan bir API Referansı bölümü de sağlıyoruz. Herhangi bir belirsizlik durumunda, lütfen [forum] üzerinden bizimle iletişime geçmekten çekinmeyin]16.

Ayrıca bakınız