Node.js kullanarak C++ ile PDF

Excel Çalışma Kitabını PDF’e Dönüştürme

PDF dosyaları, kuruluşlar, devlet kurumları ve bireyler arasında belge değişiminde geniş ölçüde kullanılır. Standart bir belge biçimidir ve yazılım geliştiriciler genellikle Microsoft Excel dosyalarını PDF belgelerine dönüştürmek için bir yol bulmaları istenir.

Aspose.Cells, Excel dosyalarını PDF’ye dönüştürmeyi destekler ve dönüşümde yüksek görsel sadakati korur.

Doğrudan Dönüşüm

Aspose.Cells for Node.js via C++, elektronik tablo dosyalarından PDF’e dönüştürmeyi diğer yazılımlara bağlı kalmadan destekler. Bir Excel dosyasını Workbook sınıfının save(string, SaveFormat) yöntemiyle PDF olarak kaydedin. save(string, SaveFormat) yöntemi, yerel Excel dosyalarını PDF formatına dönüştüren SaveFormat.Pdf enum üyesini sağlar.

Doğrudan Excel elektronik tablolarını PDF biçimine dönüştürmek için aşağıdaki adımları izleyin:

  1. Boş kurucuyu çağırarak Workbook sınıfının nesnesini örnekleyin.
  2. Varolan bir şablon dosyasını açabilir/yükleyebilir veya çalışma kitabını sıfırdan oluşturuyorsanız bu adımı atlayabilirsiniz.
  3. Aspose.Cells’in API’lerini kullanarak elektronik tabloda herhangi bir işlem yapın (giriş verileri, biçimlendirme uygulama, formüller belirleme, resimler veya diğer çizim nesneleri ekleme vb.).
  4. Elektronik tablo kodu tamamlandığında, Workbook sınıfının save(string, SaveFormat) yöntemini çağırarak elektronik tabloyu kaydedin.

Dosya biçimi PDF olmalı, bu nedenle nihai PDF belgesini oluşturmak için Pdf (önceden tanımlanmış bir değer) olarak SaveFormat sınıfının numaralandırmasından seçim yapın.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "Book1.xls");

// Instantiate the Workbook object
// Open an Excel file
const workbook = new AsposeCells.Workbook(filePath);

// Save the document in PDF format
workbook.save(path.join(dataDir, "output.pdf"), AsposeCells.SaveFormat.Pdf);

Gelişmiş Dönüşüm

Dönüşüm için farklı özellikleri ayarlamak için PdfSaveOptions sınıfını kullanabilirsiniz. PdfSaveOptions sınıfının farklı özelliklerini ayarlamak, çıktı PDF’nin yazdırma, font, güvenlik ve sıkıştırma ayarları üzerinde kontrol sahibi olmanızı sağlar.

En önemli özellik getCompliance(), PDF standartları uyumluluk seviyesini ayarlamanıza olanak tanır. Şu anda PDF 1.4, PDF 1.5, PDF 1.6, PDF 1.7, PDF/A-1a, PDF/A-1b, PDF/A-2a, PDF/A-2b, PDF/A-2u, PDF/A-3a, PDF/A-2ab ve PDF/A-3u formatlarına kaydedebilirsiniz. PDF/A formatı ile, çıktı dosyasının boyutu düzenli PDF dosyasının boyutundan daha büyüktür.

Çalışma Kitabını PDF/A Uyumlu Dosyalara Kaydetme

Aşağıdaki kod parçacığı, Excel dosyalarını PDF/A uyumlu PDF biçimine kaydetmek için PdfSaveOptions sınıfının nasıl kullanılacağını göstermektedir.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");

// Instantiate new workbook
const workbook = new AsposeCells.Workbook();

// Insert a value into the A1 cell in the first worksheet
workbook.getWorksheets().get(0).getCells().get(0, 0).putValue("Testing PDF/A");

// Define PdfSaveOptions
const pdfSaveOptions = new AsposeCells.PdfSaveOptions();

// Set the compliance type
pdfSaveOptions.setCompliance(AsposeCells.PdfCompliance.PdfA1b);

// Save the file
workbook.save(path.join(dataDir, "output.pdf"), pdfSaveOptions);

PDF Oluşturma Saatini Ayarlayın

PdfSaveOptions sınıfı ile PDF oluşturma saatinizi alabilir veya ayarlayabilirsiniz. Aşağıdaki kod, PDF dosyasının oluşturma zamanını belirlemek için PdfSaveOptions.getCreatedTime() özelliğin kullanımını göstermektedir.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const inputPath = path.join(dataDir, "Book1.xlsx");
// Load excel file containing charts
const workbook = new AsposeCells.Workbook(inputPath);

// Create an instance of PdfSaveOptions
const options = new AsposeCells.PdfSaveOptions();
options.setCreatedTime(new Date());

// Save the workbook to PDF format while passing the object of PdfSaveOptions
workbook.save(path.join(dataDir, "output.pdf"), options);

İçerik Erişilebilirlik Kopyalama seçeneğini Ayarlayın

PdfSaveOptions sınıfı ile dönüştürülen PDF’de içerik erişimini kontrol etmek için PDF getAccessibilityExtractContent() seçeneğini alabilir veya ayarlayabilirsiniz.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// Source directory
const sourceDir = path.join(__dirname, "data");

// Output directory
const outputDir = path.join(__dirname, "output");

const inputPath = path.join(sourceDir, "BookWithSomeData.xlsx");

// Load excel file containing some data
const workbook = new AsposeCells.Workbook(inputPath);

// Create an instance of PdfSaveOptions and pass SaveFormat to the constructor
const pdfSaveOpt = new AsposeCells.PdfSaveOptions();

// Create an instance of PdfSecurityOptions
const securityOptions = new AsposeCells.PdfSecurityOptions();

// Set AccessibilityExtractContent to true
securityOptions.setAccessibilityExtractContent(false);

// Set the security option in the PdfSaveOptions
pdfSaveOpt.setSecurityOptions(securityOptions);

// Save the workbook to PDF format while passing the object of PdfSaveOptions
workbook.save(path.join(outputDir, "outFile.pdf"), pdfSaveOpt);

Özel özellikleri PDF’ye aktar

PdfSaveOptions sınıfı ile kaynak elektronik tablodaki özel özellikleri PDF’ye aktarabilirsiniz. Özellikleri nasıl aktarılacağını belirtmek için PdfCustomPropertiesExport numaralama sağlanmaktadır. Bu özellikler, aşağıdaki resimde gösterildiği gibi Adobe Acrobat Reader’da Dosya’ya tıklayarak ardından özellikler seçeneğini tıklayarak görüntülenebilir. Şablon dosyası “sourceWithCustProps.xlsx” test etmek için buradan indirilebilir ve çıktı PDF dosyası “outSourceWithCustProps” analiz için buradan temin edilebilir.

todo:image_alt_text

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sourceWithCustProps.xlsx");

// Load excel file containing custom properties
const workbook = new AsposeCells.Workbook(filePath);

// Create an instance of PdfSaveOptions
const pdfSaveOptions = new AsposeCells.PdfSaveOptions();

// Set CustomPropertiesExport property to PdfCustomPropertiesExport.Standard
pdfSaveOptions.setCustomPropertiesExport(AsposeCells.PdfCustomPropertiesExport.Standard);

// Save the workbook to PDF format while passing the object of PdfSaveOptions
workbook.save("outSourceWithCustProps.pdf", pdfSaveOptions);

Dönüşüm Özellikleri

Her yeni sürümle dönüşüm özelliklerini geliştirmeye çalışıyoruz. Aspose.Cell’in Excel’den PDF’ye dönüştürme hala birkaç kısıtlamaya sahiptir. HaritaÇizelgesi, PDF biçimine dönüştürülürken desteklenmez. Ayrıca, bazı çizim nesneleri iyi desteklenmez.

Aşağıdaki tablo, Aspose.Cells kullanarak PDF’ye dışa aktarırken tamamen veya kısmen desteklenen tüm özellikleri listeleyen bir tablodur. Bu tablo son değildir ve tüm elektronik tablo özniteliklerini kapsamaz, ancak dışa aktarmak için tamamen veya kısmen desteklenmeyen özellikleri tanımlar.

Belge Öğesi Özellik Desteklenen Notlar
Hizalama Evet
Arka plan Ayarları Evet
Kenarlık Renk Evet
Kenarlık Çizgi stili Evet
Kenarlık Çizgi genişliği Evet
Hücre Verisi Evet
Yorumlar Evet
Koşullu Biçimlendirme Evet
Döküman Özellikleri Evet
Çizim Nesneleri Kısmen Çizim nesneleri için gölge ve 3-B efektleri iyi desteklenmez; WordArt ve SmartArt kısmen desteklenir.
Yazı Tipi Boyut Evet
Yazı Tipi Rengi Evet
Yazı Tipi Stili Evet
Yazı Tipi Altı çizili Evet
Yazı Tipi Efektleri Evet
Resimler Evet
Hyperlink Evet
Grafikler Kısmen Harita Grafikleri desteklenmiyor.
Birleştirilmiş Hücreler Evet
Sayfa Sonu Evet
Sayfa Ayarı Üstbilgi/Altbilgi Evet
Sayfa Ayarı Kenar Boşlukları Evet
Sayfa Ayarı Sayfa Yönü Evet
Sayfa Ayarı Sayfa Boyutu Evet
Sayfa Ayarı Yazdırma Alanı Evet
Sayfa Ayarı Yazdırma Başlıkları Evet
Sayfa Ayarı Ölçekleme Evet
Satır Yüksekliği/Sütun Genişliği Evet
RTL (Sağdan Sola) Dil Evet

Gelişmiş Konular