background img
Kas 15, 2018
638 Views
0 0

Delphi İle Word ve Excelin PDF dönüştürülmesi

Yazar :

Merhaba;

Bu konumuzda delphi ile word ve Excel dosyalarını pdf ye nasıl dönüştürebiliriz  bunu kısave öz bir şekilde anlatmaya çalışacağım.

Önce aşağıdaki kodları yerlerine eklememiz gerekiyor.

uses
  ComObj;
const
  wdExportFormatPDF = 17;

//Excel objesini oluşturuyoruz
ObjExcel := CreateOleObject('Excel.Application');
//Excel kitabını Excel objesine yüklüyoruz.
ObjWorkbook := ObjExcel.Workbooks.Open('d:\Excel Dökümanı.xlsx');
// Excel Kitabındaki sayfa yı aktifleştiriyoruz.
ObjSheet := ObjWorkbook.ActiveSheet;
//Excel Kitabını export ediyorz.
ObjSheet.ExportAsFixedFormat(0, 'd:\Excel-to-pdf Dökümanı.pdf',
 EmptyParam,
 EmptyParam,
 EmptyParam,
 EmptyParam,
 EmptyParam,
 EmptyParam,
 EmptyParam
);

peki ExportAsFixedFormat komutu tam olarak ne işe yarar.

ExportAsFixedFormat( _Type_, _Filename_, _Quality_, _IncludeDocProperties_, _IgnorePrintAreas_, _From_, _To_, _OpenAfterPublish_, _FixedFormatExtClassPtr_)

 

Parametreler(Worksheet.ExportAsFixedFormat method (Excel))

Adı Zorunlu/Opsiyonel Data tip Açıklama
Type Zorunlu xlFixedFormatType XlTypePDF veya xlTypeXPS olabilir.
Filename Opsiyonel Variant Kaydedilecek dosyanın adını gösteren bir dize. Tam bir yol ekleyebilir veya Excel dosyayı geçerli klasöre kaydeder.
Quality Opsiyonel Variant XlQualityStandard veya xlQualityMinimum olarak ayarlanabilir.
IncludeDocProperties Opsiyonel Variant Belge özelliklerinin dahil edilmesini veya atlanmadıklarını belirtmek için False olarak
ayarlanması gerektiğini belirtmek üzere True olarak ayarlayın.
IgnorePrintAreas Opsiyonel Variant True olarak ayarlanırsa, yayınlarken ayarlanan tüm yazdırma alanlarını yok sayar. False olarak ayarlanırsa, yayınlarken ayarlanan yazdırma alanlarını kullanır.
From Opsiyonel Variant Yayınlanmaya başlanacak sayfanın numarası. Bu argüman atlanırsa, yayınlama başlangıçta başlar.
To Opsiyonel Variant Yayınlanacak son sayfanın numarası. Bu argüman atlanırsa, yayınlama son sayfa ile biter.
OpenAfterPublish Opsiyonel True olarak ayarlanmışsa, görüntülendikten sonra görüntüleyicide dosya görüntülenir. False olarak ayarlanırsa dosya yayınlanır, ancak görüntülenmez.
FixedFormatExtClassPtr Opsiyonel FixedFormatExt sınıfına işaretçi.

Kaynak : https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.exportasfixedformat

 

Şimdi Gelelim Word dosyasına

// Word Objesini oluşturuyoruz.
Word := CreateOLEObject('Word.Application');
// Word dosyasını Word objesine Yüklüyoruz.
Doc := Word.Documents.Open('d:\Word Döküman.docx');
//Word Dosyasını Export Ediyoruz.
Doc.ExportAsFixedFormat('d:\Word-to-pdf Döküman.pdf', wdExportFormatPDF);

ExportAsFixedFormat yordamının word için nasıl kullanıldığını inceleyelim.

ExportAsFixedFormat( _OutputFileName_ , _ExportFormat_ , _OpenAfterExport_ , _OptimizeFor_ , _Range_ , _From_ , _To_ , _Item_ , _IncludeDocProps_ , _KeepIRM_ , _CreateBookmarks_ , _DocStructureTags_ , _BitmapMissingFonts_ , _UseISO19005_1_ , _FixedFormatExtClassPtr_ )

Parametreler(Document.ExportAsFixedFormat method (Word))

Adı Zorunlu/Opsiyonel Data tip Açıklama
OutputFileName Zorunlu String Yeni PDF veya XPS dosyasının yolu ve dosya adı.
ExportFormat Zorunlu WdExportFormat PDF veya XPS biçimini belirtir.
OpenAfterExport Opsiyonel Boolean İçeriği dışa aktardıktan sonra yeni dosyayı açar.
OptimizeFor Opsiyonel WdExportOptimizeFor Ekranı veya yazdırmayı optimize edip etmeyeceğinizi belirtir.
Range Opsiyonel WdExportRange Dışa aktarma aralığının belgenin tamamı, geçerli sayfa, bir metin aralığı veya geçerli seçim olup olmadığını belirtir. varsayılan belgenin tamamını dışa aktarmaktır.
From Opsiyonel Long Aralık parametresi wdExportFromTo olarak ayarlanmışsa, başlangıç sayfa numarasını belirtir.
To Opsiyonel Long Aralık parametresi wdExportFromTo olarak ayarlanmışsa, bitiş sayfa numarasını belirtir.
Item Opsiyonel WdExportItem Dışa aktarma işleminin yalnızca metin mi içerdiğini yoksa işaretli metin içerip içermediğini belirtir.
IncludeDocProps Opsiyonel Yeni dışa aktarılan dosyada belge özelliklerinin eklenip eklenmeyeceğini belirtir.
KeepIRM Opsiyonel Boolean Kaynak belgede IRM korumaları varsa, IRM izinlerinin bir XPS belgesine kopyalanıp kopyalanmayacağını belirtir. Varsayılan değer True.
CreateBookmarks Opsiyonel WdExportCreateBookmarks Yer imlerinin ve dışa aktarılacak yer imlerinin dışa aktarılıp aktarılmayacağını belirtir.
DocStructureTags Opsiyonel Boolean Ekran okuyucularının, içeriğin akış ve mantıksal organizasyonu hakkında bilgi edinmelerine yardımcı olacak ek verilerin eklenip eklenmeyeceğini belirtir. Varsayılan değer True.
BitmapMissingFonts Opsiyonel Boolean Metnin bitmap’in eklenip eklenmeyeceğini belirtir. Yazı tipi lisansları bir fontun PDF dosyasına gömülmesine izin vermediğinde bu parametreyi True olarak ayarlayın. False ise fonta başvurulur ve yazarın bilgisayarı uygun bir fontun yerine yazarsa uygun yazı tipini değiştirir. Varsayılan değer True.
UseISO19005_1 Opsiyonel PDF kullanımını, ISO 19005-1 olarak standartlaştırılmış PDF alt kümesine sınırlamanın gerekip gerekmediğini belirtir. True ise, sonuçta elde edilen dosyalar daha güvenilir bir şekilde bağımsızdır, ancak formatın kısıtlamaları nedeniyle daha büyük olabilir veya daha fazla görsel yapaylık gösterebilir. Varsayılan değer False.
FixedFormatExtClassPtr Opsiyonel Variant Kodun alternatif bir uygulamasına yapılan çağrılara izin veren bir eklentiye işaretçi belirtir. Kodun alternatif uygulaması, uygulamalar tarafından kendi PDF veya XPS’lerini oluşturmak için üretilen EMF ve EMF + sayfa açıklamalarını yorumlar. Daha fazla bilgi için, MSDN’de “Office (2007) Sabit Biçimli Verme Özelliğini Genişletme” konusuna bakın.

Kaynak : https://docs.microsoft.com/en-us/office/vba/api/word.document.exportasfixedformat

Daha sonra başka konularda görüşmek üzere.

Article Categories:
Çalışmalarım · Delphi · Dikkatimi Çekenler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

The maximum upload file size: 50 MB. You can upload: image, audio, video, document, text, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here