Word'den PDF'e

Word’ü PDF’ye Çevrimiçi Olarak Nasıl Dönüştürebilirsiniz

DOC, DOCX, DOCM, DOTX, ODT, OTT vb. içeren MS Word dosyaları, bilgi depolama ve veri paylaşımı için popüler dosya biçimlerinden bazılarıdır. Birçok Üniversite, hükümet veya kamu kuruluşu eserlerini Word biçiminde üretir ancak bu kadar çeşitli biçimler nedeniyle, bu dosyalardaki içerik düzeni çeşitli platformlarda görüntülendiğinde tehlikeye girer. Bu nedenle, uygulanabilir bir çözüm, belge yapısını ve herhangi bir platformda sadakati koruyan sabit bir biçime dönüştürmektir.

Bu yazımızda .NET REST API kullanarak Word’ün PDF formatına dönüştürülmesini ele alacağız.

Word’den PDF’e Dönüştürme API’si

Aspose.Words Cloud, Word belgelerini herhangi bir platformda diğer Desteklenen Dosya Biçimlerine oluşturma, düzenleme ve dönüştürme kolaylığı sağlayan harika bir REST tabanlı API’dir. Makalenin kapsamına göre, Word’den PDF’e dönüştürme için Aspose.Words Cloud SDK for .NET kullanacağız.

Kurulum

SDK’yı kurmak için lütfen komut satırı terminalinde aşağıdaki komutu çalıştırın.

nuget install Aspose.Words-Cloud

SDK’yı NuGet paket yöneticisinden kurmak için lütfen aşağıda belirtilen adımları izleyin:

  • Çözüm gezginini genişletin ve Paketler klasörüne sağ tıklayın.
  • Arama alanına Aspose.Words-Cloud yazın.
  • Şimdi arama sonuçlarında Aspose.Words-Cloud yanındaki onay kutusunu etkinleştirin ve Paket Ekle butonuna tıklayın.
  • Başvurulan SDK projeye eklendi.

Ayrıca, mevcut GitHub veya Google hesabımızı kullanarak oturum açabileceğimiz veya yeni bir Hesap Oluşturabileceğimiz Aspose.Cloud panosunu ziyaret ederek ücretsiz bir hesap oluşturmamız gerekiyor. İstemci Kimliği ve İstemci Gizli Anahtarı ayrıntılarını görmek için İstemci Kimlik Bilgileri bölümüne doğru aşağı kaydırmanız yeterlidir.

Word’ü C# ile PDF’e Nasıl Dönüştürebilirim?

Visual Studio’da C# .NET kodunu kullanarak Word’den PDF’ye dönüştürmeyi gerçekleştirmek için lütfen aşağıda belirtilen adımları izleyin. Bu senaryoda, giriş Word dosyası zaten Cloud depolamada mevcuttur ve sonuç PDF da Cloud depolamada depolanır.

  • İstemci Kimliği ve İstemci Gizli Anahtar ayrıntılarını bağımsız değişken olarak alan Yapılandırma sınıfının bir örneğini oluşturun.
  • İkinci olarak, WordsApi sınıfının bir örneğini oluşturun ve bir yapılandırma örneğini argüman olarak sağlayın.
  • Üçüncüsü, dosyayı yerel sistemden UploadFileRequest(..) metodunu kullanarak Cloud depolamaya yükleyin.
  • Sonraki adım, sonuç dosya özelliklerini tanımlayan SaveOptionsData nesnesini oluşturmaktır. Bu nesneyi kullanarak SaveFormat’ı Pdf olarak tanımlarız, ZipOutput değeri false olarak belirtilir, böylece çıktı .zip arşivinde olmaz ve diğer özellikler.
  • Şimdi, giriş dosyası adını ve SaveOptionsData nesnelerini argüman olarak alan SaveAsRequest örneğini oluşturun.
  • Son olarak, SaveAsrequest örneğini argüman olarak alan WordApi sınıfının SaveAs(…) metodunu çağırın.
// https://dashboard.aspose.cloud/ adresinden istemci kimlik bilgilerini alın
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// İstemci Kimliği ve İstemci gizli ayrıntılarını geçirerek Yapılandırma örneği oluşturun
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// WordsApi nesnesi oluştur
var wordsApi = new WordsApi(config);

// Giriş Word belgesi
string fileName = "test_multi_pages.doc";

// dosyayı yerel sistemden yükle
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
    // Orijinal belgeyi Cloud Depolamaya yükleyin
    wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}

// SaveOptionsData nesnesini oluştur
SaveOptionsData saveOptionsData = new SaveOptionsData()
{
    SaveFormat = "pdf",
    FileName = "myResultant.pdf",
    AllowEmbeddingPostScriptFonts = true,
    ZipOutput = false,
    UpdateLastSavedTimeProperty = true,
    UpdateSdtContent = true,
    UpdateCreatedTimeProperty = true,
    UpdateLastPrintedProperty = true
};
            
try
{
    // Giriş Word dosyasını ve saveOptionsData'yı geçirerek SaveAsRequest oluşturun
    SaveAsRequest request = new SaveAsRequest(fileName, saveOptionsData);
    
    // Word'den PDF'e dönüştürme işlemini başlatın
    var output = wordsApi.SaveAs(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
} 
word'den pdf'e önizleme

Resim 5:- Word’den PDF’e dönüştürme önizlemesi.

Yukarıdaki örnekte kullanılan örnek dosya testmultipages.doc adresinden indirilebilir.

DOC’u C# ile PDF’ye dönüştürme

Bu senaryoda, yerel depolama alanından yüklenen DOC dosyasını dönüştüreceğiz ve çıktıyı PDF biçimine dönüştüreceğiz. Ortaya çıkan dosya ayrıca Cloud depolama alanında da depolanır.

  • İlk olarak, İstemci Kimliği ve İstemci Gizli Anahtar ayrıntılarını argüman olarak alan Yapılandırma sınıfının bir örneğini oluşturun.
  • İkinci olarak, WordsApi sınıfının bir örneğini oluşturun ve bir yapılandırma örneğini argüman olarak sağlayın.
  • Üçüncüsü, yerel dosya akışını, çıktı biçimini ve sonuç dosya adını argüman olarak alan ConvertDocumentRequest sınıfının bir nesnesini oluşturun.
  • Son olarak, dönüştürme işlemini gerçekleştirmek için ConvertDocument(..) metodunu çağırın.
// https://dashboard.aspose.cloud/ adresinden istemci kimlik bilgilerini alın
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// İstemci Kimliği ve İstemci gizli ayrıntılarını geçirerek Yapılandırma örneği oluşturun
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// WordsApi nesnesi oluştur
var wordsApi = new WordsApi(config);

// giriş word dosyası
string fileName = "test_multi_pages.doc";

// sonuç dosyasının adı
string outputfile = "result.pdf";

try
{
    // yerel depolama alanından word dosyasını yükleyin ve çıktı biçimini belirtin
    ConvertDocumentRequest request = new ConvertDocumentRequest(System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName),"pdf",outputfile);
    
    // dönüştürme işlemini gerçekleştir
    var output = wordsApi.ConvertDocument(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

C# ile DOCX’i PDF’e dönüştürme

Cloud depolamada bulunan bir DOCX dosyasını dönüştürme ve ayrıca ortaya çıkan PDF‘i Cloud depolamaya kaydetme senaryosunu tartışalım. Bu senaryoda, HTTP GET istek yöntemini kullanacağız.

  • İlk olarak, İstemci Kimliği ve İstemci Gizli Anahtar ayrıntılarını argüman olarak alan Yapılandırma sınıfının bir örneğini oluşturun.
  • İkinci olarak, WordsApi sınıfının bir örneğini oluşturun ve bir yapılandırma örneğini argüman olarak sağlayın.
  • Bir sonraki adım, WordsApi’nin UploadFileRequest(…) metodunu kullanarak dosyayı yerel sürücüden bulut depolama alanına yüklemektir.
  • Son olarak, DOCX dosya adını, çıktı biçimini ve sonuç dosyanın adını argüman olarak alan GetDocumentWithFormatRequest sınıfının bir nesnesini oluşturun.
  • Son olarak, dönüşümü gerçekleştirmek için GetDocumentWithFormat(…) metodunu çağırın.
// https://dashboard.aspose.cloud/ adresinden istemci kimlik bilgilerini alın
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// İstemci Kimliği ve İstemci gizli ayrıntılarını geçirerek Yapılandırma örneği oluşturun
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };

// WordsApi nesnesi oluştur
var wordsApi = new WordsApi(config);

// docx dosyasını girin
string fileName = "file-sample_1MB.docx";

// çıktı biçimi PDF olarak
string format = "pdf";

// sonuç dosya adı
string outputfile = "result.pdf";

// DOCX dosya içeriğini yerel sürücüden yükle
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Downloads/" + fileName))
{
    // Orijinal belgeyi Cloud Depolamaya yükleyin
    wordsApi.UploadFile(new UploadFileRequest(file, fileName, null));
}

// dosyayı Cloud Depolamaya yükleyin            
try
{
    GetDocumentWithFormatRequest request = new GetDocumentWithFormatRequest(fileName,format,null,null,null,null,outputfile);
    wordsApi.GetDocumentWithFormat(request);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
} 

Yukarıdaki örnekte kullanılan kaynak dosyalarını file-sample1MB.docx ve result.pdf adreslerinden indirmeyi düşünebilirsiniz.

docx'ten pdf'e dönüştürme önizlemesi

Resim 6:- DOCX’ten PDF’e dönüştürme önizlemesi.

cURL Komutunu kullanarak Word’ü PDF’e dönüştürme

Bu bölümde, cURL komutları aracılığıyla Cloud API’ye erişeceğiz. Bu nedenle ilk adım, İstemci Kimliği ve İstemci Gizli Ayrıntılarına dayalı bir JWT erişim belirteci oluşturmaktır.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Şimdi dosyayı bulut depolamaya yüklemek için aşağıdaki komutu çalıştırın.

curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/file-sample_1MB.docx" \
-H  "accept: application/json" \
-H  "Authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"fileContent":{}}

Son olarak, DOCX‘i PDF’e dönüştürmek için GetDocumentWithFormat API’sini kullanın.

curl -X GET "https://api.aspose.cloud/v4.0/words/file-sample_1MB.docx?format=pdf&outPath=myOutput.pdf" \
-H  "accept: application/octet-stream" \
-H  "Authorization: Bearer <JWT Token>

Çözüm

Aspose.Words Cloud kullanarak Word’ü PDF formatına dönüştürmenin bazı harika özelliklerini tartıştık. Dönüştürme, .NET kodu veya cURL komutu kullanılarak gerçekleştirilebilir. Ayrıca, tarayıcınızdaki Swagger UI aracılığıyla API’yi de keşfedebilirsiniz.

SDK’nın tam kaynak kodunun GitHub adresinden indirilebileceğini ve API’yi kullanırken herhangi bir sorunla karşılaşmanız durumunda Ücretsiz ürün destek forumu aracılığıyla bizimle iletişime geçmekten çekinmeyin.

İlgili Makaleler

Daha fazla bilgi edinmek için aşağıdaki bağlantıları ziyaret etmenizi şiddetle öneririz: