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.