Excel'den PDF'e

Node.js kullanarak Excel’i PDF’ye dönüştürün

Excel, hesaplama verisi depolama için popüler dosya biçimlerinden biridir. Sayılar ve formüller, metin ve çizim şekilleri gibi verileri depolama kapasitesine sahiptir. Ayrıca, Excel Microsoft Office Yazılım Paketi’nin bir parçasıdır, bu nedenle birçok kullanıcı XLS dosyalarını üretmek için onu kullanır. Ayrıca, aritmetik işlemler gibi veri işlemlerini düzenlemek için numaralı satırlar ve harfli sütunlar halinde düzenlenmiş bir hücre ızgarasında veri depolama yetenekleri nedeniyle çok popüler hale gelmiştir. Ancak bu dosyaları görüntülemek için belirli bir uygulamanın yüklü olması gerekir. Ayrıca, yazılımın çeşitli sürümleri dosyaları farklı biçimlendirmelerde görüntüler. Bu nedenle, tüm bu sorunları çözmek için dosyanın PDF biçimine dönüştürülmesi uygulanabilir bir çözümdür çünkü masaüstü bilgisayarlardaki web tarayıcılarının çoğu ve mobil cihazlardaki çeşitli ücretsiz uygulamalar PDF belgelerini rahatlıkla görüntüler.

Bu yazımızda Cloud REST API kullanarak Excel’i PDF’e dönüştürmeyi ele alacağız.

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

Aspose.Cells Cloud, sıfırdan Excel dosyaları oluşturma, mevcut dosyalardaki içeriği düzenleme ve dosyayı XLSM, HTML, XPS, TIFF, SVG gibi formatlara dönüştürme ve daha birçok özellik sunan ödüllü REST API’mizdir. Bu nedenle, bu makalenin kapsamına göre Aspose.Cells Cloud SDK for Node.js kullanacağız.

cURL Komutlarını kullanarak Excel’i PDF’ye dönüştürün

Bu bölümde, Excel’i PDF formatına kaydetmek için cURL Komutlarını kullanacağız. Bu nedenle ilk adım Aspose.Cloud panosunda Ücretsiz bir hesap aboneliği oluşturmaktır. Bir GitHub veya Google hesabınız varsa, sadece Kaydolun. Aksi takdirde, Yeni Hesap Oluştur düğmesine tıklayın ve gerekli bilgileri sağlayın. İstemci Kimlik Bilgilerinize erişmek için panoya giriş yapın.

Şimdi JWT erişim belirtecini oluşturmak için lütfen aşağıdaki komutu çalıştırın.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=718e4235-8866-4ebe-bff4-f5a14a4b6466&client_secret=388e864b819d8b067a8b1cb625a2ea8e" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

JWT token’ına sahip olduğumuzda, yerel sistemden bir dosyayı Cloud depolamaya yüklemek ve ardından PDF formatına dönüştürmek için aşağıdaki cURL komutunu çalıştırmamız gerekir.

curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/conditional.xls" \
-H  "accept: application/json" 
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{}}
https://api.aspose.cloud/v3.0/cells/storage/file/conditional.xlsx

Cloud depolamada halihazırda mevcut olan bir XLS dosyasını PDF formatına dönüştürmeniz gerekirse, lütfen aşağıdaki cURL komutunu kullanmayı deneyin:

curl -X GET "https://api.aspose.cloud/v3.0/cells/conditional.xls?format=PDF&isAutoFit=true&onlySaveTable=false&outPath=output.pdf" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Node.js’de XLS’yi PDF’ye dönüştürme

Bu bölümde, Node.js SDK kullanarak Excel çalışma sayfasının PDF formatına dönüştürülmesinin nasıl gerçekleştirileceğine ilişkin adımları ve ayrıntıları ele alacağız. İlk adım, NPM ve GitHub adresinden indirilebilen SDK’yı yerel sisteme yüklemektir. Bu nedenle, SDK’yı NPM’den yüklemek için aşağıdaki komutu çalıştıracağız

npm i asposecellscloud

Kurulumdan sonra, Node.js kullanarak XLS’den PDF’ye dönüştürme işlemini gerçekleştirmek için aşağıdaki kod parçacığını çalıştırabiliriz

  • İstemci Kimliği ve İstemci Gizli Bilgisi ayrıntılarını tanımlayan nesneler oluşturun.
  • Daha sonra Client ID ve Client Secret detaylarını argüman olarak alan CellsApi sınıfının bir nesnesini oluşturun.
  • Bir sonraki adım, Dosya Sistemi Modülünün createReadStream(…) metodunu kullanarak yerel sistemde bulunan giriş XLS dosyasının içeriğini okumaktır.
  • Şimdi UploadFileRequest sınıfının bir örneğini oluşturun ve ardından giriş Akışı verisini dosya özelliğine geçirin.
  • Dosyayı bulut depolamaya yüklemek için CellsApi’nin uploadFile(…) metodunu çağırın.
  • Bir sonraki adım CellsSaveAsPostDocumentSaveAsRequest(…) sınıfının bir nesnesini oluşturmaktır.
  • Ayrıca PdfSaveOptions sınıfının bir örneğini oluşturun ve PDF değerini saveFormat özelliğine geçirin.
  • Son olarak, dönüştürme işlemini başlatmak için CellsApi sınıfının cellsSaveAsPostDocumentSaveAs(..) metodunu çağırın.
const { CellsApi, CellsSaveAs_PostDocumentSaveAsRequest,UploadFileRequest,PdfSaveOptions } = require("asposecellscloud");

// ClientId ve ClientSecret'ınızı https://dashboard.aspose.cloud adresinden alın (ücretsiz kayıt gereklidir).
const clientId = "718e4235-8866-4ebe-bff4-f5a14a4b6466";
const clientSecret = "388e864b819d8b067a8b1cb625a2ea8e";

// CellsApi'nin bir örneğini oluştur
const cellsApi = new CellsApi(clientId, clientSecret);

// giriş Excel belgesinin adı
filename = "conditional.xlsx"

// Kodunuza Dosya Sistemi modülü referansını ekleyin
const fs = require("fs");

// Giriş Excel dosyasının içeriğini oku
var data =fs.createReadStream("/Users/nayyershahbaz/Downloads/"+ filename);

// FileUpload Request örneğini oluştur
var req = new UploadFileRequest();
req.path = filename;
// içeriği yüklenen Excel dosyasını içeren Akış örneği olarak ayarlayın
req.file = data;

// Dosyayı bulut depolama alanına yükleyin
return cellsApi.uploadFile(req)
    .then((result) => {
        // Belge SaveAsRequest örneği oluştur
        var req = new CellsSaveAs_PostDocumentSaveAsRequest();
        req.name = filename;

        // PdfSaveOptions sınıfının bir nesnesini oluşturun
        req.saveOptions = new PdfSaveOptions();
  
        // sonuç dosya biçimini PDF olarak ayarlayın
        req.saveOptions.saveFormat = "pdf";
        
        // yeni sonuç dosyası için bir ad belirleyin
        req.newfilename = "newbook.pdf";
        // varsayılan konuma kaydedeceğimiz için klasör değerini null olarak ayarlayacağız        
        req.folder = null;
    
        // Dönüştürme işlemini başlatmak için SaveAsPostDocument yöntemini çağırın     
        return cellsApi.cellsSaveAsPostDocumentSaveAs(req)
            .then((result) => {
            expect(result.body.code).to.equal(200);
            expect(result.response.statusCode).to.equal(200);
        });
    });

Çözüm

Bu makalede, Excel’in PDF formatına dönüştürülmesiyle ilgili ayrıntıları basit ve kullanışlı bir şekilde ele aldık. Aspose.Cells for Node.js Cloud SDK’nın açık kaynak ilkelerine göre geliştirildiğini lütfen unutmayın, bu nedenle tam kaynak kodu GitHub adresinden indirilebilir. API’yi kullanırken herhangi bir sorunla karşılaşırsanız veya ilgili sorularınız varsa lütfen Ücretsiz ürün destek forumu aracılığıyla sormaktan çekinmeyin.

İlgili makaleler

Daha fazla bilgi edinmek için aşağıdaki bağlantıları ziyaret etmeyi düşünebilirsiniz