Bạn có cần trích xuất dữ liệu từ các tệp PDF và nhập chúng vào Google Sheets một cách nhanh chóng và hiệu quả? Bài viết này sẽ hướng dẫn bạn từng bước cách sử dụng Google Apps Script để tự động hóa quy trình này. Việc này không chỉ giúp bạn tiết kiệm thời gian mà còn giảm thiểu sai sót do nhập liệu thủ công. Cùng khám phá cách biến những tệp PDF phức tạp thành dữ liệu dễ dàng quản lý trong Google Sheets nhé!
Có nhiều lý do để bạn chọn Google Apps Script cho tác vụ này:
Với Google Apps Script, bạn có thể tạo ra một quy trình làm việc hiệu quả, giúp bạn tập trung vào việc phân tích dữ liệu thay vì mất thời gian vào việc nhập liệu.
Đầu tiên, bạn cần mở Google Sheets và tạo một script mới. Truy cập vào "Công cụ" > "Soạn thảo tập lệnh" để mở trình soạn thảo Google Apps Script. Đây là nơi bạn sẽ viết mã để trích xuất dữ liệu từ PDF.
Bạn có thể lấy tệp PDF từ một URL công khai hoặc từ Google Drive của bạn. Nếu lấy từ URL, sử dụng `UrlFetchApp.fetch(url).getBlob()` để tải tệp. Nếu lấy từ Google Drive, sử dụng `DriveApp.getFileById(fileId).getBlob()`.
Ví dụ:
// Lấy PDF từ URL
var url = "https://www.example.com/sample.pdf";
var blob = UrlFetchApp.fetch(url).getBlob();
// Lấy PDF từ Google Drive
var fileId = "YOUR_FILE_ID";
var blob = DriveApp.getFileById(fileId).getBlob();
Nhớ thay `"https://www.example.com/sample.pdf"` và `"YOUR_FILE_ID"` bằng URL hoặc ID tệp PDF thực tế của bạn.
Để trích xuất văn bản từ PDF, bạn cần sử dụng tính năng OCR (Optical Character Recognition) của Google Drive. Điều này có nghĩa là bạn sẽ chuyển đổi PDF thành một tài liệu Google Docs tạm thời, sau đó trích xuất văn bản từ tài liệu này.
Dưới đây là đoạn mã để thực hiện việc này:
function extractTextFromPdf(blob) {
var resource = {
title: blob.getName().replace(".pdf", ""),
mimeType: "application/vnd.google-apps.document"
};
var options = {
ocr: true,
ocrLanguage: "vi" // Thay đổi ngôn ngữ nếu cần
};
var doc = Drive.Files.insert(resource, blob, options);
var docId = doc.id;
var text = DocumentApp.openById(docId).getBody().getText();
DriveApp.getFileById(docId).setTrashed(true); // Xóa tài liệu tạm
return text;
}
Trong đoạn mã trên, `ocrLanguage` được đặt thành "vi" cho tiếng Việt. Bạn có thể thay đổi nó tùy thuộc vào ngôn ngữ của PDF.
Sau khi đã trích xuất văn bản, bạn có thể nhập nó vào Google Sheets. Sử dụng `SpreadsheetApp` để truy cập và chỉnh sửa sheet.
Ví dụ:
function writeToSheet(text) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
sheet.appendRow([text]);
}
Đoạn mã này sẽ thêm văn bản trích xuất vào một hàng mới trong sheet hiện tại.
Bây giờ, chúng ta sẽ kết hợp tất cả các hàm lại để tạo thành một script hoàn chỉnh:
function main() {
var url = "https://www.example.com/sample.pdf"; // Thay đổi URL
var blob = UrlFetchApp.fetch(url).getBlob();
var text = extractTextFromPdf(blob);
writeToSheet(text);
}
function extractTextFromPdf(blob) {
var resource = {
title: blob.getName().replace(".pdf", ""),
mimeType: "application/vnd.google-apps.document"
};
var options = {
ocr: true,
ocrLanguage: "vi" // Thay đổi ngôn ngữ nếu cần
};
var doc = Drive.Files.insert(resource, blob, options);
var docId = doc.id;
var text = DocumentApp.openById(docId).getBody().getText();
DriveApp.getFileById(docId).setTrashed(true); // Xóa tài liệu tạm
return text;
}
function writeToSheet(text) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
sheet.appendRow([text]);
}
Với hướng dẫn này, bạn đã có thể tự động hóa quy trình trích xuất văn bản từ PDF vào Google Sheets bằng Google Apps Script. Điều này không chỉ giúp bạn tiết kiệm thời gian mà còn cải thiện độ chính xác của dữ liệu. Hãy thử áp dụng và tùy chỉnh script này để phù hợp với nhu cầu cụ thể của bạn. Chúc bạn thành công!
Bài viết liên quan