• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

PDF -> Dosya -> Özellikler - Veri Çekme Hk.

  • Konbuyu başlatan Konbuyu başlatan AScru
  • Başlangıç tarihi Başlangıç tarihi
@ÖmerFaruk Bey,

Siz 3 No'lu mesajdaki kodu sizin "ABB-Otomasyon-Urunleri-Fiyat-Listesi.pdf" dosyası üzerinde denediğinizde hata alıyorsunuz, değil mi?


.
 
Evet Haluk Bey.

Bu arada şunu gördüm.
Txt doyasına çevirip açtığımda Txt içinde görünen
MediaBox[ 0 0 595.276 841.89]
VBA kodları içindeki strRetVal değişkeninde görülmüyor.
 
Aslında, bunu anlamanın en iyi yolu aşağıdaki kodu çalıştırmanız olacaktır.....

Excel dosyasının olduğu klasörde oluşturulacak "Data.txt" dosyasında, kodlarda dosya yolu belirtilen PDF dosyasının binary kodları yazılacaktır. Bu text dosyasının içinde eğer yine "MediaBox" bulamazsanız, artık benim yapabilecek birşeyim kalmadı demektir....

C#:
Sub Test3()
'   Haluk 19/09/2021
'   sa4truss@gmail.com
'   https://excelhaluk.blogspot.com/

    Dim FSO As Object, objFile As Object
    Dim PDF_File As String, strRetVal As String
    Dim temp As String
 
    Const ForReading = 1
    Const ForWriting = 2
    
    PDF_File = "C:\TestFolder\PDF\ABB-Otomasyon-Urunleri-Fiyat-Listesi.pdf"
 
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = FSO.OpenTextFile(PDF_File, ForReading, False, True)
    strRetVal = StrConv(objFile.ReadAll, vbUnicode)
    
    Set dataFile = FSO.OpenTextFile(ThisWorkbook.Path & "\Data.txt", ForWriting, True, True)
    
    dataFile.WriteLine strRetVal
    
    Set dataFile = Nothing
    Set objFile = Nothing
    Set FSO = Nothing
End Sub

.
 
Hakkınız helal edin.
Son gönderdiğiniz kodu denedikten sonra txt file oluştu ve strRetVal yazıldı.
Orada sorun görülmeyince, 2 gün önceki ilk dosyayı kontrol ettim.
Kodlar çalıştı.
Ne olduğunu anlamadım ama ilk kodlarınızla bu işlem
Win10 64 Bit ve Office 365 verisyonunda sorunsuz çalışmaktadır.

Bir çok pdf olan klasörde denedim. Sonuç ekteki resimde. Pdf özelliğine göre bazı pdflerden size bilgisi alınamamaktadır. Kodlarınız hata vermeden çalışmaktadır
230192
 
Hakkım varsa helal olsun...

Bu arada, içinde gerçekten "MediaBox" gömülü olmayan PDF dosyaları için 40 No'lu mesajda belirttiğim gibi, o dosyaları düzeltmek gerekir.

.
 
İkinci pdfi oluştururken kullandığınız pdf düzenleyiciden dolayı mı doğru sonuç alıyorsunuz?

Eğer öyleyse
Biz bu durumda her bir pdf ya da sayfa boyutu belli oluşmayan pdfleri bahsettiğiniz pdf düzenleyici uygulamasında açıp farklı kaydederek kodların çalışmasına devam ettirebiliriz. Diye anlıyorum
 
Aynen o şekilde Ö. Faruk Bey,

Sayfa boyutu 3 No'lu mesajdaki kodlarla alınamayan, yani içinde "MediaBox" gömülü olmayan PDF'leri "Chrome" tarayıcıda açıp, aşağıdaki resimde belirttiğim gibi sağ üst köşedeki yazıcı simgesine tıklayıp, yine PDF olarak kaydederek bu işi halledebilirsiniz. Yani "sanal bir PDF yazıcı" kullanarak....

Oluşturulan yeni PDF dosyasını denediğinizde, bu kez sayfa boyutlarını alabileceksiniz.




.
 
Son düzenleme:
"Chrome" tarayıcıda açıp, aşağıdaki resimde belirttiğim gibi sağ üst köşedeki yazıcı simgesine tıklayıp,
Bunun kodlarla yapabilmek mümkün müdür?
 
Muhtemelen; bilgisayara bir sanal yazıcı kurup, VBA ile sözkonusu PDF dosyası bu yazıcıya gönderilip, yine PDF olarak kaydedilebilir.

Denemek gerekir...

.
 
Haluk bey değerli vaktinizi ayırdığınız için çok teşekkür ederim. Kodlar sorunsuz çalıştı.
 
Geri
Üst