Skip to main content

PDF Metadata Extractor — Panduan Lengkap Setup & Penggunaan

Python Tools Version v1.0

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 PDF
  • gspread — library untuk mengakses Google Sheets
  • requests — 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)

  1. Jalankan file installer yang sudah didownload

  2. PENTING: Centang opsi “Add Python to PATH” sebelum klik Install Now

    Opsi ini memastikan kamu bisa menjalankan python dari command prompt manapun. Kalau tidak dicentang, kamu harus install ulang.

  3. 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:

LibraryFungsi
PyPDF2Membaca file PDF dan mengekstrak metadata
gspreadAkses Google Sheets via Python
google-auth-oauthlibAutentikasi OAuth2 ke akun Google
google-api-python-clientAkses Google Drive API
requestsRequest 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

  1. Buka console.cloud.google.com
  2. Login dengan akun Google yang sama dengan Drive kamu
  3. Klik “Select a project” di pojok kiri atas → klik “New Project”
  4. Beri nama project, misalnya PDF Metadata Extractor
  5. Klik Create

Langkah 2: Aktifkan API yang Dibutuhkan

Dari dashboard project, cari dan aktifkan dua API berikut:

Google Drive API:

  1. Di menu kiri, klik “APIs & Services”“Library”
  2. Cari Google Drive API
  3. Klik → Enable

Google Sheets API:

  1. Kembali ke Library
  2. Cari Google Sheets API
  3. Klik → Enable

Langkah 3: Buat OAuth2 Credentials

  1. Di menu kiri, klik “APIs & Services”“Credentials”
  2. Klik ”+ Create Credentials” → pilih “OAuth client ID”
  3. 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
  4. Kembali ke Create Credentials → OAuth client ID
  5. Application type: pilih Desktop app
  6. Beri nama, klik Create
  7. 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):

  1. Di menu OAuth consent screen → tab “Test users”
  2. Klik ”+ Add users”
  3. Tambahkan email Google kamu
  4. 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.json akan 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

  1. Buka Google Drive di browser
  2. Masuk ke folder yang berisi file PDF
  3. Lihat URL di browser — bentuknya: drive.google.com/drive/folders/XXXXXXXXXXXXXXXX
  4. Bagian XXXXXXXXXXXXXXXX adalah Folder ID yang perlu kamu salin

Cara Mendapatkan ID Spreadsheet

  1. Buka Google Sheets yang ingin kamu pakai sebagai output
  2. Lihat URL: docs.google.com/spreadsheets/d/XXXXXXXXXXXXXXXX/edit
  3. Bagian XXXXXXXXXXXXXXXX adalah Spreadsheet ID

Kalau belum punya spreadsheet, biarkan SPREADSHEET_ID = None — script akan buat spreadsheet baru otomatis dengan nama dari SPREADSHEET_NAME.


Bagian 6 — Menjalankan Script

Buka Terminal di Folder Project

Windows:

  1. Buka File Explorer, navigasi ke folder project
  2. Klik address bar di atas, ketik cmd, tekan Enter
  3. 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:

  1. Pilih akun Google yang kamu gunakan
  2. Kamu mungkin melihat peringatan “Google hasn’t verified this app” — ini normal untuk app developer sendiri. Klik “Advanced”“Go to [nama app] (unsafe)”
  3. Klik “Allow” untuk memberikan izin akses Drive dan Sheets
  4. Browser akan menampilkan “The authentication flow has completed” — tutup browser
  5. 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:

KolomIsi
NoNomor urut
Timestamp InsertWaktu proses
Nama FolderNama folder di Drive
Nama File LamaNama file sebelum diproses
Nama File BaruNama file setelah rename (atau sama jika skip)
Status RenameRename dari CrossRef / PDF metadata / Skip / Error
DOIDOI yang ditemukan di PDF
Judul (CrossRef)Judul dari CrossRef API
Penulis (CrossRef)Penulis dari CrossRef API
JurnalNama jurnal
TahunTahun publikasi
Volume / Issue / HalamanDetail bibliografi
PublisherNama penerbit
Judul (PDF)Judul dari metadata internal PDF
Penulis (PDF)Penulis dari metadata internal PDF
Jumlah HalamanTotal halaman PDF
Link FileLink langsung ke file di Google Drive

Bagian 9 — Aktifkan Mode Rename

Setelah cek hasil preview di Sheets dan sudah yakin, aktifkan mode rename:

  1. Buka script di teks editor
  2. Ubah ENABLE_RENAME = False menjadi ENABLE_RENAME = True
  3. Simpan file
  4. 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