PDF Metadata Extractor — Panduan Lengkap Setup & Penggunaan
Pendahuluan
PDF Metadata Extractor adalah script Python buatan SASHINDO PROJECT yang mengotomasi proses rename file PDF di Google Drive berdasarkan metadata judul — baik dari internal PDF maupun dari database CrossRef API. Hasilnya dicatat lengkap ke Google Sheets.
Panduan ini menjelaskan seluruh proses dari nol: apa itu Python, bagaimana cara kerjanya di komputer, dan langkah demi langkah sampai script bisa dijalankan. Cocok untuk kamu yang belum pernah menggunakan Python sebelumnya.
Bagian 1 — Memahami Python dan Cara Kerjanya
Apa itu Python?
Python adalah bahasa pemrograman — cara manusia memberi instruksi kepada komputer dalam bahasa yang lebih mudah dibaca daripada kode mesin. Python terkenal karena sintaksnya yang bersih dan mudah dipahami, sekaligus sangat kuat untuk otomasi, pengolahan data, dan integrasi dengan layanan seperti Google Drive.
Bagaimana Python Bekerja di Komputer?
Komputer tidak langsung mengerti kode Python. Proses yang terjadi adalah:
Kode Python (.py)
↓
Python Interpreter (membaca dan menerjemahkan baris per baris)
↓
Komputer menjalankan instruksi
↓
Output / Hasil
Python Interpreter adalah program yang perlu kamu install di komputer. Setelah terinstall, kamu bisa menjalankan file .py dari terminal/command prompt.
Apa itu Library / Package?
Python punya banyak library — kumpulan kode siap pakai yang bisa kamu gunakan tanpa perlu tulis dari nol. Misalnya:
PyPDF2— library untuk membaca file PDFgspread— library untuk mengakses Google Sheetsrequests— library untuk melakukan request ke internet (API)
Library dikelola oleh pip — package manager bawaan Python. Satu perintah pip install nama-library dan library langsung tersedia.
Bagian 2 — Install Python di Komputer
Langkah 1: Download Python
Buka python.org/downloads dan download versi terbaru Python 3 (misalnya Python 3.11 atau 3.12). Pilih installer sesuai sistem operasi:
- Windows → pilih
Windows installer (64-bit) - macOS → pilih
macOS installer
Langkah 2: Install Python (Windows)
-
Jalankan file installer yang sudah didownload
-
PENTING: Centang opsi “Add Python to PATH” sebelum klik Install Now
Opsi ini memastikan kamu bisa menjalankan
pythondari command prompt manapun. Kalau tidak dicentang, kamu harus install ulang. -
Klik Install Now dan tunggu sampai selesai
Langkah 3: Verifikasi Instalasi
Buka Command Prompt (tekan Win + R, ketik cmd, tekan Enter), lalu ketik:
python --version
Kalau muncul output seperti Python 3.11.4 — Python sudah terinstall dengan benar.
Cek juga pip:
pip --version
Kalau muncul versi pip, semua siap.
Bagian 3 — Menyiapkan Environment Python
Apa itu Virtual Environment? (Opsional tapi Direkomendasikan)
Virtual environment adalah ruang kerja terisolasi untuk project Python. Tujuannya: library yang diinstall untuk project ini tidak bercampur dengan project lain di komputer yang sama.
Buat virtual environment di folder project kamu:
python -m venv venv
Aktifkan virtual environment:
# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activate
Setelah aktif, terminal akan menampilkan nama environment di awal baris, misalnya (venv) C:\Users\...
Kalau tidak mau pakai virtual environment, skip bagian ini dan lanjut ke install library langsung.
Install Library yang Dibutuhkan
Jalankan satu perintah ini untuk install semua library sekaligus:
pip install PyPDF2 gspread google-auth-oauthlib google-api-python-client requests
Proses download dan install berjalan otomatis. Tunggu sampai selesai (biasanya 1–2 menit tergantung koneksi internet).
Apa yang diinstall:
| Library | Fungsi |
|---|---|
PyPDF2 | Membaca file PDF dan mengekstrak metadata |
gspread | Akses Google Sheets via Python |
google-auth-oauthlib | Autentikasi OAuth2 ke akun Google |
google-api-python-client | Akses Google Drive API |
requests | Request HTTP ke CrossRef API |
Bagian 4 — Setup Google Cloud (Credentials)
Script ini perlu izin untuk mengakses Google Drive dan Google Sheets milik kamu. Izin ini diberikan melalui Google Cloud Console — platform developer Google.
Langkah 1: Buat Project di Google Cloud
- Buka
console.cloud.google.com - Login dengan akun Google yang sama dengan Drive kamu
- Klik “Select a project” di pojok kiri atas → klik “New Project”
- Beri nama project, misalnya
PDF Metadata Extractor - Klik Create
Langkah 2: Aktifkan API yang Dibutuhkan
Dari dashboard project, cari dan aktifkan dua API berikut:
Google Drive API:
- Di menu kiri, klik “APIs & Services” → “Library”
- Cari
Google Drive API - Klik → Enable
Google Sheets API:
- Kembali ke Library
- Cari
Google Sheets API - Klik → Enable
Langkah 3: Buat OAuth2 Credentials
- Di menu kiri, klik “APIs & Services” → “Credentials”
- Klik ”+ Create Credentials” → pilih “OAuth client ID”
- Kalau diminta setup consent screen:
- Pilih External
- Isi App name (misalnya:
PDF Extractor) - Isi email di kolom yang diminta
- Klik Save and Continue sampai selesai
- Kembali ke Create Credentials → OAuth client ID
- Application type: pilih Desktop app
- Beri nama, klik Create
- Klik Download JSON — simpan file ini sebagai
credentials.json
Langkah 4: Tambahkan Test User (Jika Diperlukan)
Kalau consent screen kamu masih dalam mode Testing (belum publish):
- Di menu OAuth consent screen → tab “Test users”
- Klik ”+ Add users”
- Tambahkan email Google kamu
- Klik Save
Bagian 5 — Konfigurasi Script
Letakkan File di Folder yang Sama
Buat satu folder untuk project ini, misalnya D:\pdf-extractor\. Pastikan file berikut ada di folder yang sama:
D:\pdf-extractor\
├── pdf_metadata_extractor_enhanced.py ← script utama
└── credentials.json ← dari Google Cloud
token.jsonakan dibuat otomatis setelah autentikasi pertama — tidak perlu buat manual.
Edit Konfigurasi di Script
Buka file pdf_metadata_extractor_enhanced.py dengan teks editor (Notepad, VS Code, atau apapun). Cari bagian # Konfigurasi di awal script dan isi nilai berikut:
# Konfigurasi
DEFAULT_FOLDER_ID = 'XXXXXXXXXXXXXXXX' # ID folder Google Drive berisi PDF
SPREADSHEET_ID = 'XXXXXXXXXXXXXXXX' # ID spreadsheet output (atau None jika buat baru)
SPREADSHEET_NAME = 'PDF Metadata Extractor' # Nama spreadsheet jika SPREADSHEET_ID = None
SHEET_NAME = 'PDF Metadata'
ENABLE_RENAME = False # Mulai dengan False dulu untuk preview
MAX_FILENAME_LENGTH = 100
Cara Mendapatkan ID Folder Google Drive
- Buka Google Drive di browser
- Masuk ke folder yang berisi file PDF
- Lihat URL di browser — bentuknya:
drive.google.com/drive/folders/XXXXXXXXXXXXXXXX - Bagian
XXXXXXXXXXXXXXXXadalah Folder ID yang perlu kamu salin
Cara Mendapatkan ID Spreadsheet
- Buka Google Sheets yang ingin kamu pakai sebagai output
- Lihat URL:
docs.google.com/spreadsheets/d/XXXXXXXXXXXXXXXX/edit - Bagian
XXXXXXXXXXXXXXXXadalah Spreadsheet ID
Kalau belum punya spreadsheet, biarkan
SPREADSHEET_ID = None— script akan buat spreadsheet baru otomatis dengan nama dariSPREADSHEET_NAME.
Bagian 6 — Menjalankan Script
Buka Terminal di Folder Project
Windows:
- Buka File Explorer, navigasi ke folder project
- Klik address bar di atas, ketik
cmd, tekan Enter - Terminal terbuka langsung di folder tersebut
Atau dari Command Prompt biasa:
cd D:\pdf-extractor
Jalankan Script
python pdf_metadata_extractor_enhanced.py
Autentikasi Pertama Kali
Saat pertama kali dijalankan, browser akan terbuka otomatis menampilkan halaman login Google:
- Pilih akun Google yang kamu gunakan
- Kamu mungkin melihat peringatan “Google hasn’t verified this app” — ini normal untuk app developer sendiri. Klik “Advanced” → “Go to [nama app] (unsafe)”
- Klik “Allow” untuk memberikan izin akses Drive dan Sheets
- Browser akan menampilkan “The authentication flow has completed” — tutup browser
- Kembali ke terminal — proses sudah berjalan
File token.json dibuat otomatis di folder project. Jangan hapus file ini — ini yang menyimpan sesi autentikasi kamu. Run berikutnya tidak perlu login lagi selama file ini ada.
Bagian 7 — Memahami Output di Terminal
Saat script berjalan, terminal menampilkan progress seperti ini:
============
PDF Metadata Extractor
Developer: SASHINDO PROJECT
============
🔐 Melakukan autentikasi...
✅ Spreadsheet 'PDF Metadata Extractor' ditemukan
✅ Sheet 'PDF Metadata' ditemukan
✅ Autentikasi berhasil!
📁 Mengambil daftar PDF dari folder...
✅ Ditemukan 47 file PDF
✅ Header sheet dibuat
🔄 Memulai proses...
ℹ️ MODE: PREVIEW - Hanya menampilkan, tidak rename
[1/47] download (12).pdf
📝 Judul CrossRef: Deep Learning for Medical Image Analysis
👁️ Preview: Akan di-rename jadi → Deep Learning for Medical Image Analysis.pdf
[2/47] paper_final_v2.pdf
⏭️ Skip: Tidak ada judul atau sama dengan nama file
[3/47] 2024_artikel_bismillah.pdf
📝 Judul PDF: Analisis Pengaruh Media Sosial Terhadap Keputusan Pembelian
👁️ Preview: Akan di-rename jadi → Analisis Pengaruh Media Sosial Terhadap Keputusan Pembelian.pdf
Arti status:
📝 Judul CrossRef— judul ditemukan dari database CrossRef (paling akurat)📝 Judul PDF— judul dari metadata internal PDF⏭️ Skip— tidak ada judul yang bisa dipakai, nama file dipertahankan❌ Error— gagal baca PDF (file rusak atau terproteksi)
Di akhir proses, muncul ringkasan:
============
📊 HASIL PROSES
============
✅ Berhasil diproses: 45 file
⏭️ Di-skip: 2 file
❌ Error: 0 file
📄 Total: 47 file
============
Bagian 8 — Hasil di Google Sheets
Buka spreadsheet yang kamu tentukan. Setiap file PDF dicatat dalam satu baris dengan kolom:
| Kolom | Isi |
|---|---|
| No | Nomor urut |
| Timestamp Insert | Waktu proses |
| Nama Folder | Nama folder di Drive |
| Nama File Lama | Nama file sebelum diproses |
| Nama File Baru | Nama file setelah rename (atau sama jika skip) |
| Status Rename | Rename dari CrossRef / PDF metadata / Skip / Error |
| DOI | DOI yang ditemukan di PDF |
| Judul (CrossRef) | Judul dari CrossRef API |
| Penulis (CrossRef) | Penulis dari CrossRef API |
| Jurnal | Nama jurnal |
| Tahun | Tahun publikasi |
| Volume / Issue / Halaman | Detail bibliografi |
| Publisher | Nama penerbit |
| Judul (PDF) | Judul dari metadata internal PDF |
| Penulis (PDF) | Penulis dari metadata internal PDF |
| Jumlah Halaman | Total halaman PDF |
| Link File | Link langsung ke file di Google Drive |
Bagian 9 — Aktifkan Mode Rename
Setelah cek hasil preview di Sheets dan sudah yakin, aktifkan mode rename:
- Buka script di teks editor
- Ubah
ENABLE_RENAME = FalsemenjadiENABLE_RENAME = True - Simpan file
- Jalankan ulang script
python pdf_metadata_extractor_enhanced.py
Kali ini status di terminal akan menampilkan ✅ Renamed: ... untuk setiap file yang berhasil direname. File di Google Drive langsung berubah namanya.
Troubleshooting
Error: ModuleNotFoundError: No module named 'PyPDF2'
Library belum terinstall. Jalankan:
pip install PyPDF2 gspread google-auth-oauthlib google-api-python-client requests
Error: FileNotFoundError: credentials.json
File credentials.json tidak ada di folder yang sama dengan script. Pastikan file sudah didownload dari Google Cloud Console dan diletakkan di folder yang benar.
Error: 403 Forbidden saat akses Drive
Email akun Google yang login tidak ditambahkan sebagai test user di OAuth consent screen. Tambahkan email kamu di Google Cloud Console → OAuth consent screen → Test users.
Browser Tidak Terbuka Saat Autentikasi
Coba jalankan di Command Prompt biasa (bukan PowerShell atau terminal IDE). Kalau tetap tidak bisa, salin URL yang muncul di terminal dan buka manual di browser.
File PDF Tidak Terbaca / Error Ekstraksi
Beberapa PDF terproteksi password atau rusak tidak bisa dibaca oleh PyPDF2. File tersebut akan dicatat dengan status Error di Sheets dan dilewati — proses tetap lanjut ke file berikutnya.
Referensi Cepat
# Install semua library
pip install PyPDF2 gspread google-auth-oauthlib google-api-python-client requests
# Jalankan script
python pdf_metadata_extractor_enhanced.py
# Cek versi Python
python --version
# Cek library terinstall
pip list
Dikembangkan oleh SASHINDO PROJECT — sashindo.web.id