Node.js'de REST API kullanarak Word Belgelerini düzenleyin

Word belgelerinizi bulut üzerinde programlı olarak kolayca düzenleyebilirsiniz. Node.js uygulamalarınızda programlı olarak Word belgelerine metin biçimlendirme uygulayabilir, belge içeriklerini ekleyebilir, düzenleyebilir veya metin formatı uygulayabilirsiniz. Bu makale, Node.js’de bir REST API kullanarak Word belgelerinin nasıl düzenleneceğine odaklanacaktır.

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

Belge Düzenleyici REST API ve Node.js SDK

DOCX dosyalarını düzenlemek için GroupDocs.Editor Cloud’un Node.js SDK API’sini kullanacağım. Word, Excel elektronik tabloları, PowerPoint, TXT, HTML, XML gibi desteklenen formatlardaki belgeleri programlı olarak düzenlemenizi sağlar. API ayrıca belgeyi düzenleme için HTML’ye dönüştürmenize olanak tanır ve belge düzenlendikten sonra aynı görünümü koruyarak orijinal biçimine geri dönüştürür. Ayrıca Cloud API için belge düzenleyici aile üyeleri olarak .NET, Java, PHP, Ruby, Android ve Python SDK’ları sağlar.

Konsolda aşağıdaki komutu kullanarak GroupDocs.Editor Cloud’u Node.js uygulamanıza kurabilirsiniz:

npm install groupdocs-editor-cloud

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

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const configuration = new groupdocs_editor_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

Node.js’de REST API kullanarak Word Belgelerini düzenleyin

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

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

Belgeyi Yükle

Öncelikle Word belgesini (DOCX) aşağıda verilen kod örneğini kullanarak Buluta yükleyin:

// FileApi'yi inşa et
let fileApi = groupdocs_editor_cloud.FileApi.fromConfig(configuration);
let resourcesFolder = 'C:\\Files\\sample.docx';

fs.readFile(resourcesFolder, (err, fileStream) => {
  let request = new groupdocs_editor_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  fileApi.uploadFile(request);
});

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

Node.js kullanarak Word Belgesini Düzenleyin

Word belgelerini programlı olarak düzenlemek için lütfen aşağıdaki adımları takip ediniz.

  • FileAPI ve EditAPI örneklerini oluşturun
  • FileInfo’da girdi dosyası yolunu sağlayın
  • WordProcessingLoadOptions oluşturun
  • LoadOptions ile LoadRequest oluşturun
  • EditAPI’nin load() yöntemiyle bir dosya yükleyin
  • Yüklenen dosya ile DownloadFileRequest oluşturun
  • FileAPI’nin downloadFile() yöntemini kullanarak HTML belgesini indirin
  • İndirilen HTML Belgesini düzenleyin
  • UploadFileRequest Oluştur
  • FileAPI’nin uploadFile() yöntemini kullanarak HTML’yi geri yükleyin
  • DOCX’e kaydetmek için WordProcessingSaveOptions sağlayın
  • SaveOptions ile SaveRequest oluşturun
  • Edit API’nin save() yöntemini kullanarak HTML’yi tekrar DOCX’e kaydedin

Aşağıdaki kod parçacığı, Node.js’de bir REST API kullanarak bir Word belgesinin nasıl düzenleneceğini gösterir.

// api başlatma
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// giriş dosyası      
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// yükleme seçeneklerini tanımlayın
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// yükleme isteği oluştur
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// html belgesini indir
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// bir şeyi düzenle...
htmlString = htmlString.replace("Title of the document", "Welcome");
htmlString = htmlString.replace("Subtitle #1", "Hello world");

// html'yi depoya geri yükle
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// html'yi docx'e geri kaydet
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// kaydetme isteği oluştur
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Node.js'de bir REST API kullanarak Word Belgelerini düzenleyin

Node.js’de bir 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ğini kullanarak indirebilirsiniz:

// api'yi başlat
var fileApi = groupdocs_editor_cloud.FileApi.fromConfig(configuration);

// dosya indirme isteği oluştur
let request = new groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", myStorage);

// dosyayı indir
let response = await fileApi.downloadFile(request);

// görüntü dosyasını çalışma dizinine kaydet
fs.writeFile("C:\\Files\\edited.docx", response, "binary", function (err) { });

Node.js kullanarak Word Belgelerine Tablo Ekleme

Aşağıda belirtilen adımları izleyerek programlı olarak Word belgesine tablo ekleyebilirsiniz:

  • FileAPI ve EditAPI örneklerini oluşturun
  • FileInfo’da girdi dosyası yolunu sağlayın
  • WordProcessingLoadOptions oluşturun
  • LoadOptions ile LoadRequest oluşturun
  • EditAPI’nin load() yöntemiyle bir dosya yükleyin
  • Yüklenen dosya ile DownloadFileRequest oluşturun
  • FileAPI’nin downloadFile() yöntemini kullanarak HTML belgesini indirin
  • İndirilen HTML Belgesini düzenleyin and add a table
  • UploadFileRequest Oluştur
  • FileAPI’nin uploadFile() yöntemini kullanarak HTML’yi geri yükleyin
  • DOCX’e kaydetmek için WordProcessingSaveOptions sağlayın
  • SaveOptions ile SaveRequest oluşturun
  • EditAPI’nin save() yöntemini kullanarak HTML’yi DOCX’e geri kaydedin

Aşağıdaki kod parçacığı, Node.js’de REST API kullanarak bir Word belgesine nasıl tablo ekleneceğini gösterir.

// api başlatma
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// giriş dosyası      
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// yükleme seçeneklerini tanımlayın
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// yükleme isteği oluştur
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// html belgesini indir
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// tablo ekle
htmlString = htmlString.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 depoya geri yükle
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// html'yi docx'e geri kaydet
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// kaydetme isteği oluştur
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Node.js kullanarak Word Belgelerine Tablo Ekleme

Node.js kullanarak Word Belgelerine Tablo Ekleme

Node.js kullanarak Word Belgelerine Resim Ekleme

Aşağıda belirtilen adımları izleyerek programlı olarak Word belgesine bir resim ekleyebilirsiniz:

  • FileAPI ve EditAPI örneklerini oluşturun
  • FileInfo’da girdi dosyası yolunu sağlayın
  • WordProcessingLoadOptions oluşturun
  • LoadOptions ile LoadRequest oluşturun
  • EditAPI’nin load() yöntemiyle bir dosya yükleyin
  • Yüklenen dosya ile DownloadFileRequest oluşturun
  • FileAPI’nin downloadFile() yöntemini kullanarak HTML belgesini indirin
  • İndirilen HTML Belgesini düzenleyin and insert an image
  • UploadFileRequest Oluştur
  • FileAPI’nin uploadFile() yöntemini kullanarak HTML’yi geri yükleyin
  • DOCX’e kaydetmek için WordProcessingSaveOptions sağlayın
  • SaveOptions ile SaveRequest oluşturun
  • EditAPI’nin save() yöntemini kullanarak HTML’yi DOCX’e geri kaydedin

Aşağıdaki kod parçacığı, Node.js’de bir REST API kullanarak bir Word belgesine nasıl resim ekleneceğini gösterir.

// api başlatma
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// giriş dosyası   
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// yükleme seçeneklerini tanımlayın
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// yükleme isteği oluştur
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// html belgesini indir
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

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

// html'yi depoya geri yükle
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// html'yi docx'e geri kaydet
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// kaydetme isteği oluştur
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Node.js kullanarak Word Belgelerine Resim Ekleme

Node.js 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ıda, Word belgelerini bulutta nasıl düzenleyeceğinizi öğrendiniz. Node.js’de bir REST API kullanarak DOCX dosyasına tablo eklemeyi de öğrendiniz. Ayrıca, bir Word belgesine programlı olarak nasıl resim ekleneceğini öğrendiniz. 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. 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]26.

Ayrıca bakınız