メインコンテンツにスキップ

scan-categorizer

Scan and forget!

AI Summary

Scan Categorizer

Categorizes PDFs by content in Drive.

Target Users

Beginner GAS developers automating PDF scan organization in Drive.

Problems Solved

Manual organization of PDF scans in Drive is time-consuming.

Script ID

  1. In GAS Editor: Click "Libraries +" → Paste into "Script ID" field → Click "Look up"
  2. "scan-categorizer" will appear in the search results
  3. Select the latest version (highest number) from "Version" dropdown
  4. Click "Add"

Tags

Main Features
1
No-code setup

UI generates conditions to paste in Code.gs. No coding needed.

2
Flexible matching

Chain or/and conditions and RegExp for precise content matching.

3
Helper utils

Path validation, name sanitization, date helpers included.

Examples

Main Functions

FunctionDescription
sc.categorizeCategorize PDFs by content
sc.isValidPathValidate path string
sc.sanitizeFileNameSanitize file names

Examples

Category setup and execution
/**
 * 分類条件設定と実行
 * ・or条件: or('lorem', 'ipsum')
 * ・and条件連鎖: [or(...), and(...) ]
 * ・categorize実行: sc.categorize(categories, src)
 */
function categorizeScans() {
  const categories = [
    {name: 'Lorem', conditions: [and('lorem', 'ipsum')], path: 'Lorem/$y'},
    {name: 'Ipsum', conditions: [or('ipsum', 'dolor')], path: 'Ipsum/$y'},
    {
      name: 'Ipsum',
      conditions: [or('ipsum', 'dolor'), and('lorem', 'ipsum')],
      path: 'Ipsum/$y',
    },
  ];
  sc.categorize(categories, ['source-folder-id']);
}

Using helper functions
/**
 * ヘルパー関数活用
 * ・パス検証: sc.isValidPath('Lorem/$y')
 * ・ファイル名検証: sc.isValidPdfFileName('scan.pdf')
 * ・名サニタイズ: sc.sanitizeFileName('bad<name>.pdf')
 */
function useHelpers() {
  sc.isValidPath('Lorem/$y');
  sc.isValidPdfFileName('scan.pdf');
  const safeName = sc.sanitizeFileName('scan <bad> name.pdf');
}

Date processing
/**
 * 日付処理
 * ・日付フォーマット: sc.formatDate(new Date())
 * ・ファイルから抽出: sc.extractDateFromFileName('2024-01-01.pdf')
 */
function handleDates() {
  const formatted = sc.formatDate(new Date());
  const date = sc.extractDateFromFileName('invoice-2024-01-15.pdf');
}

Sample Code

Post a Sample

No sample codes for this library yet

Be the first to post a sample!

Post a Sample