Google Sheet te belli alanı pdf yapıp Google drive a kayıt etme

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,869
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşlar,
Google Sheet te belli alanı pdf yapıp Google drive a kayıt etme işlemi, sanki daha önce sitede yapılmıştı gibi hatırlıyorum. Notlarımda bulamadım, sitede de aradım bulamadım. Bu konuda yardımcı olur musunuz, lütfen? Aynı alan jpg de yapılabiliyorsa harika olur.
Saygılarımla
 
Katılım
12 Aralık 2015
Mesajlar
1,227
Excel Vers. ve Dili
Türkçe Ofis 2007
Gemini'nin öneresi
1. Apps Script Düzenleyiciyi Açın
  • Google E-Tablonuzu açın.
  • Üst menüden Uzantılar > Apps Script'e tıklayın. Bu, yeni bir sekmede script düzenleyiciyi açacaktır.
2. Kodu Yapıştırın
Aşağıdaki kod parçacığını, düzenleyicideki varsayılan "myFunction" kodunun yerine yapıştırın.
Bu kodu kendi ihtiyacınıza göre düzenleyin:
  • var rangeToExport = sheet.getRange("A1:G20");: PDF'e dönüştürmek istediğiniz hücre aralığını buraya yazın. Örneğin, sadece A sütununu seçmek isterseniz "A:A" yazabilirsiniz.
  • var folderId = "BURAYA_KLASOR_ID'SI_GELIR";: Google Drive'da PDF'i kaydetmek istediğiniz klasöre gidin ve URL'deki son kısmı kopyalayıp tırnak işaretlerinin arasına yapıştırın.
  • var fileName = "Rapor_" + ...: PDF dosyanızın adını bu satırda özelleştirebilirsiniz.
3. Kaydedin ve Yetkilendirin
  • Apps Script düzenleyicisinde, yukarıdaki menüden Kaydet (Save) ikonuna tıklayın.
  • Fonksiyonun adının (saveSelectedRangeAsPDF) seçili olduğundan emin olun ve Çalıştır (Run) butonuna tıklayın.
  • İlk çalıştırmanızda, Google bu script'in Drive ve Sheets verilerinize erişmek için sizden izin isteyecektir. İzinleri Gözden Geçir'e tıklayın, Google hesabınızı seçin ve gerekli izinleri verin. (Bu aşamada "Bu uygulama doğrulanmadı" uyarısı alabilirsiniz. Gelişmiş > [Proje Adı] (güvenli değil) seçeneğine tıklayıp devam edebilirsiniz. Bu normaldir çünkü script'i siz yazdınız.)
4. Makro Olarak Kullanın (İsteğe Bağlı)
İşlemi tek tıkla yapmak için bir düğme veya menü öğesi ekleyebilirsiniz.
a) Menü Oluşturma:
Apps Script düzenleyicisindeki koda aşağıdaki fonksiyonu ekleyin:
  • Bu kodu kaydedip e-tabloyu yenilediğinizde, menüde "PDF İşlemleri" adında yeni bir menü öğesi göreceksiniz.
  • Buna tıkladığınızda fonksiyonu çalıştırabilirsiniz.
b) Düğme Oluşturma:
  • E-tablonuza bir resim veya şekil ekleyin (Ekle > Çizim veya Ekle > Resim).
  • Sağ tıklayıp üç noktaya (⋮) tıklayın.
  • Komut dosyası ata seçeneğine tıklayın ve fonksiyonun adını (saveSelectedRangeAsPDF) yazıp Tamam'a basın.
  • Artık o düğmeye tıkladığınızda script çalışacaktır.
Bu adımları takip ederek istediğiniz aralığı kolayca PDF'e dönüştürüp
 
Katılım
12 Aralık 2015
Mesajlar
1,227
Excel Vers. ve Dili
Türkçe Ofis 2007
Gemini'nin öneresi
Google E-Tablo Aralığı Nasıl JPG'ye Dönüştürülür ve Google Drive'a Kaydedilir
İşlem, istenen aralığın "ekran görüntüsünü" almayı, bunu bir resim biçimine dönüştürmeyi (genellikle önce PNG, gerekirse daha sonra JPG, ancak PNG genellikle iyi desteklenir) ve ardından bu resmi Google Drive'a yüklemeyi içerir.
Adım Adım Yaklaşım
  1. Google Apps Script'i açın: Google E-Tablonuzda, Uzantılar > Apps Script'e gidin . Bu, script düzenleyicisi olan yeni bir tarayıcı sekmesi açacaktır.
  2. Senaryoyu Yazın: JavaScript tabanlı kodu kullanarak şunları yapacaksınız:
    • Google E-Tablosunu ve dönüştürmek istediğiniz belirli aralığı belirleyin.
    • Aralığı bir görüntü olarak yakalayın. Bu en zor kısımdır, çünkü Apps Script'in doğrudan bir "aralığı görüntü olarak dışa aktar" işlevi yoktur. Yaygın bir geçici çözüm, sayfayı geçici olarak bir Google Sites sayfasına yerleştirmeyi veya üçüncü taraf bir hizmet kullanmayı içerir, ancak doğrudan bir betik için genellikle tüm sayfayı bir PDF olarak yakalarsınız ve ardından görüntüyü çıkarırsınız veya HTML'yi bir görüntüye dönüştürebilen bir kitaplık kullanırsınız. Ancak, görsel temsillerle uğraşırken daha basit ve daha yaygın bir yaklaşım, sayfayı veya belirli bir sekmeyi bir PDF olarak dışa aktarmak ve ardından gerçekten bir JPG gerekiyorsa bu PDF'yi bir görüntüye dönüştürmektir.
    • Bir JPG'ye çok benzeyen bir aralığın görsel temsili için daha pratik bir yaklaşım, sayfayı PDF olarak dışa aktarmak ve ardından bu PDF sayfasını bir görüntüye dönüştürmektir.
    • Apps Script aracılığıyla bir sayfanın içeriğinin görüntüsünü elde etmenin en doğrudan yolu genellikle tüm sayfayı veya belirli bir sekmeyi PDF olarak dışa aktarmayı ve ardından bu PDF'i işlemeyi içerir. Ancak, yalnızca JPG olarak bir aralığa ihtiyacınız varsa , bu daha karmaşıktır. Yaygın bir geçici çözüm, yalnızca bu aralığı içeren geçici bir sayfa oluşturmak, bunu PDF olarak dışa aktarmak ve ardından dönüştürmektir.
  3. Gösterim için daha basit, daha yaygın bir yöntem kullanalım: belirli bir sayfayı (sekmeyi) PDF olarak dışa aktarmak , Apps Script'in karmaşık harici hizmetler olmadan görsel bir gösterimi "yakalamaya" en çok yaklaştığı yoldur. Belirli bir aralığı doğrudan Apps Script içinde bir JPG'ye dönüştürmek, işleme kitaplıkları olmadan kolay değildir.
    Pratik bir çözüm sağlamak adına, belirli bir sayfayı (sekmeyi) PDF olarak nasıl dışa aktaracağınızı ve Google Drive'a nasıl kaydedeceğinizi göstereceğim. Kesinlikle bir JPG'ye ihtiyacınız varsa, bu belirli Uygulamalar Komut Dosyası'nın dışında başka bir araç veya hizmet kullanarak PDF'yi JPG'ye dönüştürmeniz gerekir.
  4. İzinleri Ayarlayın: Komut dosyasını ilk kez çalıştırdığınızda, Google E-Tablolarınıza ve Google Drive'ınıza erişmesini yetkilendirmeniz gerekir.
  5. Komut Dosyasını Çalıştırın: Komut dosyasını doğrudan Apps Komut Dosyası düzenleyicisinden çalıştırabilir veya kolay erişim için Google E-Tablolarınızdaki bir düğmeye atayabilirsiniz.
Örnek Uygulamalar Komut Dosyası (Bir Sayfayı PDF Olarak Drive'a Aktarma)
Bu betik, Google E-Tablonuzdaki belirli bir sayfayı (sekmeyi) PDF olarak dışa aktaracak ve Google Drive'ınızdaki belirli bir klasöre kaydedecektir. Bu, Apps Script aracılığıyla önemli bir karmaşıklık olmadan bir JPG'ye benzeyen bir "görsel yakalamaya" en yakın olabileceğiniz noktadır.
JavaScript
function exportSheetAsPdfToDrive() {
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadsheet.getSheetByName('Sayfa1'); // Change 'Sayfa1' to your sheet name
if (!sheet) {
Logger.log('Sheet not found. Please check the sheet name.');
return;
}
// --- Configuration ---
const folderName = 'Google Sheet Images'; // Name of the folder in Google Drive
const pdfFileName = 'MySheetRange.pdf'; // Name for the exported PDF file

// Find or create the folder
let folder = DriveApp.getFoldersByName(folderName).next();
if (!folder) {
folder = DriveApp.createFolder(folderName);
}

// Generate the PDF URL for the specific sheet
// This URL generates a PDF of the *entire* specified sheet.
// To get a specific range, you'd need to either hide other parts
// or use more complex HTML rendering techniques.
const url = 'https://docs.google.com/spreadsheets/d/' + spreadsheet.getId() + '/export?format=pdf' +
'&gid=' + sheet.getSheetId() + // gid for the specific sheet
'&size=A4' + // paper size
'&portrait=true' + // orientation (true for portrait, false for landscape)
'&fitw=true' + // fit to width
'&top_margin=0.75' + // All margins in inches
'&bottom_margin=0.75' +
'&left_margin=0.75' +
'&right_margin=0.75' +
'&sheetnames=false' + // Do not show sheet names
'&printtitle=false' + // Do not show document title
'&pagenumbers=false' + // Do not show page numbers
'&gridlines=false' + // Do not show gridlines
'&fzr=false'; // Do not repeat frozen rows
const options = {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
};
try {
const response = UrlFetchApp.fetch(url, options);
const pdfBlob = response.getBlob().setName(pdfFileName);
folder.createFile(pdfBlob);
Logger.log('PDF saved to Drive folder: ' + folderName + '/' + pdfFileName);
Browser.msgBox('Success!', 'Sheet exported as PDF and saved to Google Drive.', Browser.Buttons.OK);
} catch (e) {
Logger.log('Error exporting sheet: ' + e.toString());
Browser.msgBox('Error!', 'Could not export sheet: ' + e.toString(), Browser.Buttons.OK);
}
}
Komut Dosyası Nasıl Kullanılır:
  1. Yukarıdaki kodu kopyalayın .
  2. Google E-Tablonuza gidin.
  3. Uzantılar > Uygulamalar Komut Dosyası'na tıklayın .
  4. Editörde ( Code.gsveya benzeri yerde) mevcut olan tüm kodları silin.
  5. Kopyaladığınız kodu editöre yapıştırın.
  6. 'Sayfa1'const sheet = spreadsheet.getSheetByName('Sayfa1');Dışa aktarmak istediğiniz sayfanın (sekmenin) gerçek adını satıra değiştirin .
  7. İsteğe bağlı olarak folderNameve'yipdfFileName istediğiniz klasör ve dosya adlarıyla değiştirebilirsiniz.
  8. Disket simgesine tıklayarak veya tuşuna basarak betiği kaydedinCtrl + S .
  9. exportSheetAsPdfToDriveAçılır menüden (oynat simgesine benzeyen "Çalıştır" butonunun yanında) fonksiyonu seçin .
  10. Çalıştır butonuna tıklayın .
  11. İlk kez çalıştırdığınızda, betiği yetkilendirmeniz istenecektir . Gerekli izinleri vermek için ekrandaki talimatları izleyin (bu, Drive'ınızla etkileşime giren Uygulamalar Betiği için standarttır).
  12. Google Sheet ImagesYeni oluşturulan klasörü ( varsayılan olarak) ve PDF dosyasını Google Drive'ınızda kontrol edin .

JPG Dönüşümünde Önemli Hususlar:
  • Bir Aralığın Doğrudan JPG'si: Belirtildiği gibi, Google Apps Script'te belirli bir aralığı doğrudan bir JPG'ye dönüştürmek doğal olarak basit bir şekilde desteklenmez. PDF dışa aktarma yöntemi, sayfanın tüm görsel durumunu yakalar.
  • JPG için geçici çözümler:
    • PDF'den JPG'ye Dönüştürücü: Komut dosyasını kullanarak PDF'e aktardıktan sonra, manuel veya programlı olarak harici bir servis veya araç kullanarak bu PDF'i JPG'ye dönüştürebilirsiniz.
    • Geçici Sayfa: Yalnızca belirli bir aralığa ihtiyacınız varsa, yeni bir geçici sayfa oluşturabilir, istediğiniz aralığın içeriğini bu yeni sayfaya kopyalayabilir, PDF dışa aktarma betiğini bu geçici sayfada çalıştırabilir ve ardından geçici sayfayı silebilirsiniz. Bu hala bir PDF'dir, doğrudan bir JPG değildir.
    • Google Sites Embedding (Gelişmiş): Daha karmaşık bir yaklaşım, Google Sheet'inizi bir Google Sites sayfasına yerleştirmeyi ve ardından belirli gömülü öğenin ekran görüntüsünü almak için gelişmiş teknikler (Apps Script dışında başsız tarayıcı otomasyonu gibi) kullanmayı içerir. Bu genellikle tipik Apps Script kullanımının ötesindedir.
Bu betik, sayfanızın içeriğinin görsel bir temsilini (PDF) Google Drive'a almak için sağlam bir yol sağlar. Bir JPG mutlak bir gereklilikse, muhtemelen ek bir adıma veya harici hizmetleri içeren daha karmaşık bir çözüme ihtiyacınız olacaktır.
 
Üst