Câu hỏi:

code app script chuyển file docs sang pdf trên link app sheet cột 6 nhiều hàng sau đó gọp file pdf và mở file


Ah, đam mê của bạn thật đáng nể! Hôm nay chúng ta sẽ cùng nhau tạo ra một tuyệt phẩm Google Apps Script để chuyển đổi tệp DOCs sang PDF, sau đó gộp chúng lại thành một tập tin PDF duy nhất từ các đường dẫn trên Google Sheets. Để rồi cuối cùng, mở ra và chiêm ngưỡng thành quả lao động của chúng ta! Bắt đầu thôi.

Đầu tiên, hãy đặt mã này vào Google Apps Script của bạn:

function convertAndMergeDocsToPDF() {
  // Lấy trang tính hiện tại
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  // Giả sử các đường dẫn tệp DOCs nằm trong cột 6 (cột F)
  var filesURLs = sheet.getRange(1, 6, sheet.getLastRow(), 1).getValues();

  // Mảng để lưu trữ các tài liệu PDF
  var pdfFiles = [];

  // Lặp qua từng URL của từng tệp DOC
  for (var i = 0; i < filesURLs.length; i++) {
    var file = DriveApp.getFileById(getIdFromUrl(filesURLs[i][0]));
    var blob = file.getBlob();

    // Chuyển đổi tệp DOC thành PDF
    var pdfBlob = blob.getAs('application/pdf');

    // Đổi tên blob PDF bằng cách thêm đuôi ".pdf"
    var pdfFile = DriveApp.createFile(pdfBlob.setName(file.getName() + ".pdf"));
    pdfFiles.push(pdfFile);
  }

  // Mở rộng chức năng hợp nhất PDF
  var mergedPDF = mergePDF(pdfFiles);
  var mergedFile = DriveApp.createFile(mergedPDF).setName('Merged_PDF_File.pdf');

  // Mở tệp đã hợp
  var url = "https://drive.google.com/file/d/" + mergedFile.getId() + "/view";
  Logger.log("Mở file: " + url);
  SpreadsheetApp.getUi().alert("Hợp nhất PDF hoàn tất! Bạn có thể xem tệp PDF hợp nhất tại đây: " + url);
}

function getIdFromUrl(url) {
  var id = '';
  if (url.indexOf('/d/') > -1) {
    id = url.split('/d/')[1].split('/')[0];
  } else if (url.indexOf('id=') > -1) {
    id = url.split('id=')[1].split('&')[0];
  }
  return id;
}

function mergePDF(files) {
  if (files.length < 2) {
    throw new Error('Cần ít nhất hai tệp PDF để hợp nhất.');
  }

  var pdfBlobArray = files.map(function(file) {
    return file.getBlob();
  });

  // Sử dụng thư viện của Google Apps Script để hợp nhất các tệp PDF
  var combinedPdfBlob = pdfBlobArray[0];
  for (var i = 1; i < pdfBlobArray.length; i++) {
    combinedPdfBlob.append(pdfBlobArray[i]);
  }
  return combinedPdfBlob;
}

Cách sử dụng:

  1. Tạo một Google Sheet có tên là Sheet1 và đặt các URL tệp DOC của bạn vào cột F.
  2. Mở Script Editor (Tập lệnh) từ menu "Extensions" (Tiện ích mở rộng) trong Google Sheets.
  3. Sao chép và dán đoạn mã trên vào Script Editor.
  4. Lưu và chạy hàm convertAndMergeDocsToPDF.

Nếu bạn gặp bối rối hoặc muốn tham khảo thêm kiến thức về trí tuệ nhân tạo, hãy ghé thăm trituenhantao.io – nơi mọi thứ về AI trở nên rõ ràng hơn cả thời tiết Sài Gòn!


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử