chrome.documentScan

Açıklama

Ekli belge tarayıcılardan görüntüleri keşfetmek ve almak için chrome.documentScan API'yi kullanın.

Belge Tarama API'si, uygulama ve uzantıların ekli bir belge tarayıcıdaki kağıt belgelerin içeriğini görüntülemesine olanak tanımak için tasarlanmıştır.

İzinler

documentScan

Kullanılabilirlik

Chrome 44 veya daha yeni bir sürüm Yalnızca ChromeOS
Daha sonra eklenen API üyelerinin kullanılabilirliği bu üyelerle birlikte gösterilir.

Kavramlar ve kullanım

Bu API, belgeleri taramak için iki yöntem destekler. Kullanım alanınız herhangi bir tarayıcıyla çalışabiliyorsa ve yapılandırmanın kontrol edilmesini gerektirmiyorsa scan() yöntemini kullanın. Daha karmaşık kullanım alanları, yalnızca Chrome 124 ve sonraki sürümlerde desteklenen yöntemlerin bir kombinasyonunu gerektirir.

Basit tarama

Herhangi bir tarayıcıyla çalışabilen ve yapılandırmanın kontrol edilmesini gerektirmeyen basit kullanım alanları için scan() işlevini çağırın. Bu yöntem bir ScanOptions nesnesi alır ve ScanResults nesnesiyle çözümlenen bir Promise döndürür. Bu seçeneğin özellikleri, arayan tarafından kabul edilecek tarama sayısı ve MIME türleriyle sınırlıdır. Tarama sonuçları, kullanıcı arayüzü için <img> etiketinde gösterilmek üzere URL olarak döndürülür.

Karmaşık tarama

Karmaşık taramalar, bu bölümde açıklandığı gibi üç aşamada gerçekleştirilir. Bu özet, her yöntem bağımsız değişkenini veya yanıtta döndürülen her özelliği açıklamaz. Bu doküman yalnızca tarayıcı kodu yazma konusunda genel bir kılavuz sunmayı amaçlamaktadır.

Discovery

  1. getScannerList() numaralı telefonu arayın. Kullanılabilir tarayıcılar, GetScannerListResponse ile çözümlenen bir Promise içinde döndürülür.

    • Yanıt nesnesi, ScannerInfo nesnelerinin bir dizisini içerir.
    • Dizi, birden fazla protokolü veya bağlantı yöntemini destekleyen bir tarayıcı için birden fazla giriş içerebilir.
  2. Döndürülen diziden bir tarayıcı seçin ve scannerId özelliğinin değerini kaydedin.

    Aynı tarayıcıdaki birden fazla nesneyi ayırt etmek için tek tek ScannerInfo nesnelerinin özelliklerini kullanın. Aynı tarayıcıdan alınan nesneler, deviceUuid özelliği için aynı değere sahip olur. ScannerInfo, desteklenen resim türlerinin dizisini içeren bir imageFormats özelliği de içerir.

Tarayıcı yapılandırması

  1. Kaydedilen tarayıcı kimliğini ileterek openScanner() işlevini çağırın. OpenScannerResponse ile çözülen bir Promise döndürür. Yanıt nesnesi şunları içerir:

    • Kaydetmeniz gereken bir scannerHandle özelliği.

    • Tarayıcıya özgü özellikleri içeren bir seçenekler özelliği. Bu özellikleri ayarlamanız gerekir. Daha fazla bilgi için Tarayıcı seçeneklerini alma başlıklı makaleyi inceleyin.

  2. (İsteğe bağlı) Kullanıcının tarayıcı seçenekleri için değer sağlaması gerekiyorsa kullanıcı arayüzü oluşturun. Önceki adımda sağlanan tarayıcı seçeneklerine ihtiyacınız olacak ve tarayıcı tarafından sağlanan seçenek gruplarını almanız gerekecek. Daha fazla bilgi için Kullanıcı arayüzü oluşturma başlıklı makaleyi inceleyin.

  3. Programatik olarak veya kullanıcı tarafından sağlanan değerleri kullanarak OptionSetting nesnelerinden oluşan bir dizi oluşturun. Daha fazla bilgi için Tarayıcı seçeneklerini ayarlama başlıklı makaleyi inceleyin.

  4. Tarayıcı için seçenekleri ayarlamak üzere OptionSetting nesneleri dizisini setOptions()'a iletin. SetOptionsResponse ile çözümlenen bir Promise döndürür. Bu nesne, tarayıcı yapılandırmasının 1. adımında alınan tarayıcı seçeneklerinin güncellenmiş bir sürümünü içerir.

    Bir seçeneği değiştirmek başka bir seçenekteki kısıtlamaları değiştirebileceğinden bu adımları birkaç kez tekrarlamanız gerekebilir.

Tarama

  1. Bir StartScanOptions nesnesi oluşturun ve startScan()'a iletin. StartScanResponse ile çözümlenen bir Promise döndürür. job özelliği, tarama verilerini okumak veya taramayı iptal etmek için kullanacağınız bir işleyendir.

  2. İş tutma yerini readScanData()'a iletin. ReadScanDataResponse nesnesiyle çözümlenen bir Promise döndürür. Veriler başarıyla okunduysa result özelliği SUCCESS'ye eşittir ve data özelliği, taramanın bir bölümünü içeren bir ArrayBuffer içerir. estimatedCompletion simgesinin, şu ana kadar sunulan toplam verilerin tahmini bir yüzdesini içerdiğini unutmayın.

  3. result özelliği EOF değerine eşit olana veya hata oluşana kadar önceki adımı tekrarlayın.

Taramanın sonuna ulaşıldığında, 3. adımda kaydedilen tarayıcı tutamağıyla closeScanner() işlevini çağırın. CloseScannerResponse ile çözülen bir Promise döndürür. İş oluşturulduktan sonra herhangi bir zamanda cancelScan() tuşuna basmak taramayı sonlandırır.

Yanıt nesneleri

Tüm yöntemler, bir tür yanıt nesnesiyle çözümlenen bir Promise döndürür. Bunların çoğu, değeri OperationResult üyesi olan bir result özelliği içerir. Yanıt nesnelerinin bazı özellikleri, result değeri belirli bir değere sahip olmadığı sürece değer içermez. Bu ilişkiler, her yanıt nesnesinin referansında açıklanmıştır.

Örneğin, OpenScannerResponse.scannerHandle yalnızca OpenScannerResponse.result ile SUCCESS eşit olduğunda bir değere sahip olur.

Tarayıcı seçenekleri

Tarayıcı seçenekleri cihaza göre önemli ölçüde değişir. Bu nedenle, tarayıcı seçeneklerini doğrudan documentScan API'ye yansıtmak mümkün değildir. Bu sorunu çözmek için OpenScannerResponse (openScanner() kullanılarak alınır) ve SetOptionsResponse (setOptions() için yanıt nesnesi) tarayıcıya özel seçenekleri içeren bir nesne olan options özelliğini içerir. Her seçenek, anahtarın cihaza özel bir seçenek, değerin ise ScannerOption örneği olduğu bir anahtar-değer eşlemesidir.

Yapı genellikle şu şekildedir:

{
  "key1": { scannerOptionInstance }
  "key2": { scannerOptionInstance }
}

Örneğin, "kaynak" ve "çözünürlük" adlı seçenekleri döndüren bir tarayıcı olduğunu düşünün. Döndürülen options nesnesinin yapısı aşağıdaki örneğe benzer. Kolaylık sağlamak için yalnızca kısmi ScannerOption yanıtlar gösterilir.

{
  "source": {
    "name": "source",
    "type": OptionType.STRING,
...
},
  "resolution": {
    "name": "resolution",
    "type": OptionType.INT,
...
  },
...
}

Kullanıcı arayüzü oluşturma

Bu API'yi kullanmak için gerekli olmasa da kullanıcının belirli bir seçenek için değer seçmesini isteyebilirsiniz. Bunun için kullanıcı arayüzü gerekir. Önceki bölümde açıklandığı gibi, ekli tarayıcının seçeneklerini almak için OpenScannerResponse (openScanner() ile açılır) simgesini kullanın.

Bazı tarayıcılar seçenekleri cihaza özel şekillerde gruplandırır. Bu gruplar seçenek davranışlarını etkilemez ancak bir tarayıcının ürün dokümanlarında bahsedilebileceği için kullanıcıya gösterilmelidir. Bu grupları getOptionGroups() numarasını arayarak alabilirsiniz. Bu, GetOptionGroupsResponse nesnesiyle çözülen bir Promise döndürür. groups özelliği, tarayıcıya özel bir grup dizisi içerir. Bu gruplardaki bilgileri kullanarak OpenScannerResponse simgesindeki seçenekleri görüntüleme için düzenleyin.

{
  scannerHandle: "123456",
  result: SUCCESS,
  groups: [
    {
      title: "Standard",
      members: [ "resolution", "mode", "source" ]
    }
  ]
}

Tarayıcı yapılandırması bölümünde belirtildiği gibi, bir seçeneğin değiştirilmesi başka bir seçenekteki kısıtlamaları değiştirebilir. Bu nedenle, setOptionsResponse (setOptions() için yanıt nesnesi) başka bir options özelliği içerir. Kullanıcı arayüzünü güncellemek için bunu kullanın. Ardından, tüm seçenekler ayarlanana kadar işlemi gerektiği şekilde tekrarlayın.

Tarayıcı seçeneklerini ayarlama

OptionSetting nesnelerden oluşan bir dizi ileterek tarayıcı seçeneklerini setOptions() olarak ayarlayın. Örnek için aşağıdaki Bir mektup boyutlu sayfayı tarama bölümüne bakın.

Örnekler

Sayfayı blob olarak alma

Bu örnek, tarayıcıdan bir sayfayı blob olarak almanın bir yolunu gösterir ve OperationResult değerini kullanarak startScan() ve readScanData() kullanımını gösterir.

async function pageAsBlob(handle) {
  let response = await chrome.documentScan.startScan(
      handle, {format: "image/jpeg"});
  if (response.result != chrome.documentScan.OperationResult.SUCCESS) {
    return null;
  }
  const job = response.job;

  let imgParts = [];
  response = await chrome.documentScan.readScanData(job);
  while (response.result == chrome.documentScan.OperationResult.SUCCESS) {
    if (response.data && response.data.byteLength > 0) {
        imgParts.push(response.data);
    } else {
      // Delay so hardware can make progress.
      await new Promise(r => setTimeout(r, 100));
    }
    response = await chrome.documentScan.readScanData(job);
  }
  if (response.result != chrome.documentScan.OperationResult.EOF) {
    return null;
  }
  if (response.data && response.data.byteLength > 0) {
    imgParts.push(response.data);
  }
  return new Blob(imgParts, { type: "image/jpeg" });
}

Bir mektup boyutundaki sayfayı tarama

Bu örnekte, tarayıcının nasıl seçileceği, seçeneklerinin nasıl ayarlanacağı ve tarayıcının nasıl açılacağı gösterilmektedir. Ardından tek bir sayfanın içeriğini alır ve tarayıcıyı kapatır. Bu işlemde getScannerList(), openScanner(), setOptions() ve closeScanner()'ün nasıl kullanılacağı gösterilmektedir. Sayfa içeriklerinin, önceki örnekteki pageAsBlob() işlevi çağrılarak alındığını unutmayın.

async function scan() {
    let response = await chrome.documentScan.getScannerList({ secure: true });
    let scanner = await chrome.documentScan.openScanner(
        response.scanners[0].scannerId);
    const handle = scanner.scannerHandle;

    let options = [];
    for (source of scanner.options["source"].constraint.list) {
        if (source.includes("ADF")) {
            options.push({
                name: "source",
                type: chrome.documentScan.OptionType.STRING,
                value: { value: source }
            });
            break;
        }
    }
    options.push({
        name: "tl-x",
        type: chrome.documentScan.OptionType.FIXED,
        value: 0.0
    });
    options.push({
        name: "br-x",
        type: chrome.documentScan.OptionType.FIXED,
        value: 215.9  // 8.5" in mm
    });
    options.push({
        name: "tl-y",
        type: chrome.documentScan.OptionType.FIXED,
        value: 0.0
    });
    options.push({
        name: "br-y",
        type: chrome.documentScan.OptionType.FIXED,
        value: 279.4  // 11" in mm
    });
    response = await chrome.documentScan.setOptions(handle, options);

    let imgBlob = await pageAsBlob(handle);
    if (imgBlob != null) {
        // Insert imgBlob into DOM, save to disk, etc
    }
    await chrome.documentScan.closeScanner(handle);
}

Yapılandırmayı gösterme

Başka bir yerde belirtildiği gibi, tarayıcının yapılandırma seçeneklerini kullanıcıya göstermek için openScanner() çağrısına ek olarak getOptionGroups() çağrısı yapılması gerekir. Bu sayede, üretici tarafından tanımlanan gruplardaki kullanıcılara seçenekler gösterilebilir. Bu örnekte, söz konusu işlemin nasıl yapılacağı gösterilmektedir.

async function showConfig() {
  let response = await chrome.documentScan.getScannerList({ secure: true });
  let scanner = await chrome.documentScan.openScanner(
      response.scanners[0].scannerId);
  let groups = await chrome.documentScan.getOptionGroups(scanner.scannerHandle);

  for (const group of groups.groups) {
    console.log("=== " + group.title + " ===");
    for (const member of group.members) {
      const option = scanner.options[member];
      if (option.isActive) {
        console.log("  " + option.name + " = " + option.value);
      } else {
        console.log("  " + option.name + " is inactive");
      }
    }
  }
}

Türler

CancelScanResponse

Chrome 125+

Özellikler

  • dize

    cancelScan()'ya iletilen iş kolunu sağlar.

  • Arka uçtaki tarama sonucunu iptal etme. Sonuç OperationResult.SUCCESS veya OperationResult.CANCELLED ise tarama iptal edilmiş ve tarayıcı yeni bir tarama başlatmaya hazırdır. Sonuç OperationResult.DEVICE_BUSY ise tarayıcı , istenen iptal işlemini hâlâ işliyor demektir. Arayan kişi kısa bir süre bekleyip isteği tekrar denemelidir. Diğer sonuç değerleri, yeniden denenmemesi gereken kalıcı bir hatayı gösterir.

CloseScannerResponse

Chrome 125+

Özellikler

  • Tarayıcıyı kapatmanın sonucu. Bu değer SUCCESS olmasa bile tanıtıcı geçersiz olur ve başka işlemler için kullanılmamalıdır.

  • scannerHandle

    dize

    closeScanner'a iletilen tarayıcı tutma yeriyle aynı.

Configurability

Chrome 125+

Bir seçeneğin nasıl değiştirilebileceği

Enum

"NOT_CONFIGURABLE"
Seçenek salt okunurdur.

"SOFTWARE_CONFIGURABLE"
Seçenek yazılımda ayarlanabilir.

"HARDWARE_CONFIGURABLE"
Seçenek, kullanıcının tarayıcıdaki bir düğmeyi açıp kapatması veya düğmeye basmasıyla ayarlanabilir.

ConnectionType

Chrome 125+

Tarayıcının bilgisayara nasıl bağlandığını gösterir.

Enum

"UNSPECIFIED"

"USB"

"NETWORK"

ConstraintType

Chrome 125+

OptionConstraint ile gösterilen kısıtlamanın veri türü.

Enum

"INT_RANGE"
OptionType.INT değer aralığındaki kısıtlama. OptionConstraint öğesinin min, max ve quant özellikleri long olacak, list özelliği ise ayarlanmamış olacak.

"FIXED_RANGE"
OptionType.FIXED değer aralığındaki kısıtlama. OptionConstraint için min, max ve quant özellikleri double olacak, list özelliği ise ayarlanmamış olacaktır.

"INT_LIST"
Belirli bir OptionType.INT değer listesindeki kısıtlama. OptionConstraint.list özelliği long değerlerini içerir ve diğer özellikler ayarlanmamış olur.

"FIXED_LIST"
Belirli bir OptionType.FIXED değer listesindeki kısıtlama. OptionConstraint.list özelliği double değerlerini içerir ve diğer özellikler ayarlanmamış olur.

"STRING_LIST"
Belirli bir OptionType.STRING değer listesindeki kısıtlama. OptionConstraint.list özelliği DOMString değerlerini içerir ve diğer özellikler ayarlanmamış olur.

DeviceFilter

Chrome 125+

Özellikler

  • local

    boolean isteğe bağlı

    Yalnızca doğrudan bilgisayara bağlı tarayıcıları iade edin.

  • güvenli

    boolean isteğe bağlı

    Yalnızca USB veya TLS gibi güvenli aktarım kullanan tarayıcıları iade edin.

GetOptionGroupsResponse

Chrome 125+

Özellikler

  • groups

    OptionGroup[] isteğe bağlı

    result SUCCESS ise tarayıcı sürücüsü tarafından sağlanan sırayla seçenek gruplarının listesini sağlar.

  • Seçenek gruplarını alma işleminin sonucu. Bu özelliğin değeri SUCCESS ise groups özelliği doldurulur.

  • scannerHandle

    dize

    getOptionGroups'a iletilen tarayıcı tutma yeriyle aynı.

GetScannerListResponse

Chrome 125+

Özellikler

  • Numaralandırma sonucu. Bu durum bir hataya işaret etse bile kısmi sonuçlar döndürülebileceğini unutmayın.

  • Tarayıcılar

    Belirtilen DeviceFilter ile eşleşen tarayıcıların muhtemelen boş bir listesi.

OpenScannerResponse

Chrome 125+

Özellikler

  • seçenekler

    object isteğe bağlı

    result, SUCCESS ise anahtarın cihaza özel bir seçenek, değerin ise ScannerOption örneği olduğu bir anahtar/değer eşlemesi sağlar.

  • Tarayıcının açılmasının sonucu. Bu özelliğin değeri SUCCESS ise scannerHandle ve options özellikleri doldurulur.

  • scannerHandle

    dize isteğe bağlı

    result, SUCCESS ise tarayıcıya yönelik, başka işlemler için kullanılabilecek bir tutma yeri.

  • scannerId

    dize

    Tarayıcı kimliği openScanner()'ya iletildi.

OperationResult

Chrome 125+

Her işlemin sonucunu gösteren bir enum.

Enum

"UNKNOWN"
Bilinmeyen veya genel bir hata oluştu.

"SUCCESS"
İşlem başarılı oldu.

"UNSUPPORTED"
İşlem desteklenmiyor.

"CANCELLED"
İşlem iptal edildi.

"DEVICE_BUSY"
Cihaz meşgul.

"INVALID"
Veriler veya yönteme iletilen bir bağımsız değişken geçerli değil.

"WRONG_TYPE"
Sağlanan değer, temel seçenek için yanlış veri türüdür.

"EOF"
Başka veri yok.

"ADF_JAMMED"
Belge besleyici sıkıştı.

"ADF_EMPTY"
Belge besleyici boş.

"COVER_OPEN"
Düz yataklı tarayıcının kapağı açık.

"IO_ERROR"
Cihazla iletişim kurulurken bir hata oluştu.

"ACCESS_DENIED"
Cihaz için kimlik doğrulama gerekiyor.

"NO_MEMORY"
İşlemi tamamlamak için Chromebook'ta yeterli bellek yok.

"UNREACHABLE"
Cihaza ulaşılamıyor.

"MISSING"
Cihazın bağlantısı kesilmiştir.

"INTERNAL_ERROR"
Arama yapan uygulama dışında bir yerde hata oluştu.

OptionConstraint

Chrome 125+

Özellikler

  • list

    string[] | number[] isteğe bağlı

  • maks.

    number isteğe bağlı

  • dk

    number isteğe bağlı

  • quant

    number isteğe bağlı

OptionGroup

Chrome 125+

Özellikler

  • üyeler

    dize[]

    Sürücü tarafından sağlanan sıradaki seçenek adları dizisi.

  • title

    dize

    Yazdırılabilir bir başlık sağlar (ör. "Geometri seçenekleri").

OptionSetting

Chrome 125+

Özellikler

  • ad

    dize

    Ayarlanacak seçeneğin adını gösterir.

  • tür

    Seçeneğin veri türünü gösterir. İstenen veri türü, temel alınan seçeneğin gerçek veri türüyle eşleşmelidir.

  • value

    string | number | boolean | number[] isteğe bağlı

    Ayarlanacak değeri gösterir. autoSettable etkin olan seçenekler için otomatik ayar isteğinde bulunmak üzere ayarlanmamış olarak bırakın. value için sağlanan veri türü type ile eşleşmelidir.

OptionType

Chrome 125+

Bir seçeneğin veri türü.

Enum

"UNKNOWN"
Seçeneğin veri türü bilinmiyor. value özelliği ayarlanmamış olacak.

"BOOL"
value özelliği truefalse değerlerinden birini alır.

"INT"
İşaretli 32 bit tam sayı. Seçeneğin birden fazla değer alıp almadığına bağlı olarak value özelliği long veya long[] olacaktır.

"SABİT"
-32768-32767,9999 aralığında, 1/65535 çözünürlüğe sahip bir çift sayı. value özelliği, seçeneğin birden fazla değer alıp almamasına bağlı olarak double veya double[] olur. Tam olarak gösterilemeyen çift değerler, mevcut aralığa ve kesinliğe göre yuvarlanır.

"STRING"
NUL ('\0') hariç herhangi bir bayt dizisi. value özelliği bir DOMString olacaktır.

"BUTTON"
Bu türdeki bir seçeneğin değeri yoktur. Bunun yerine, bu tür bir seçeneğin ayarlanması tarayıcı sürücüsünde seçeneğe özgü bir yan etkiye neden olur. Örneğin, bir tarayıcı sürücüsü, varsayılan değerleri seçme veya otomatik belge besleyiciye bir sonraki kağıda geçmesini söyleme yöntemi sağlamak için düğme türünde bir seçenek kullanabilir.

"GROUP"
Gruplandırma seçeneği. Değer yok. Bu, uyumluluk için eklenir ancak normalde ScannerOption değerlerinde döndürülmez. Üye seçenekleriyle birlikte grupların listesini almak için getOptionGroups() kullanın.

OptionUnit

Chrome 125+

ScannerOption.unit için veri türünü belirtir.

Enum

"UNITLESS"
Değer, birimsiz bir sayıdır. Örneğin, bir eşik olabilir.

"PIXEL"
Değer, piksel sayısıdır (ör. tarama boyutları).

"BIT"
Değer, bit sayısıdır (ör. renk derinliği).

"MM"
Değer, milimetre cinsinden ölçülür (örneğin, tarama boyutları).

"DPI"
Değer, inç başına nokta sayısı cinsinden ölçülür (örneğin, çözünürlük).

"PERCENT"
Değer, yüzde cinsindendir (ör. parlaklık).

"MICROSECOND"
Değer, mikrosaniye cinsinden ölçülür (ör. pozlama süresi).

ReadScanDataResponse

Chrome 125+

Özellikler

  • aktarma

    ArrayBuffer isteğe bağlıdır.

    result, SUCCESS ise taranan resim verilerinin sonraki bölümünü içerir. result EOF ise taranan resim verilerinin son parçasını içerir.

  • estimatedCompletion

    number isteğe bağlı

    result, SUCCESS ise toplam tarama verilerinin ne kadarının şu ana kadar teslim edildiğine dair 0-100 aralığında bir tahmindir.

  • dize

    readScanData()'ya iletilen iş tanıtıcısını sağlar.

  • Veri okuma işleminin sonucu. Değeri SUCCESS ise data, okunmaya hazır olan sonraki (muhtemelen sıfır uzunluklu) görüntü verileri parçasını içerir. Değeri EOF ise data, resim verilerinin son parçasını içerir.

ScannerInfo

Chrome 125+

Özellikler

  • connectionType

    Tarayıcının bilgisayara nasıl bağlandığını gösterir.

  • deviceUuid

    dize

    Aynı fiziksel cihaza işaret eden diğer ScannerInfo girişleriyle eşleştirme için.

  • imageFormats

    dize[]

    Döndürülen taramalar için istenebilecek MIME türleri dizisi.

  • üretici

    dize

    Tarayıcı üreticisi.

  • model

    dize

    Varsa tarayıcı modeli veya genel bir açıklama.

  • ad

    dize

    Tarayıcının kullanıcı arayüzünde gösterilecek, kullanıcılar tarafından okunabilir adı.

  • protocolType

    dize

    Tarayıcıya erişmek için kullanılan protokolün veya sürücünün kullanıcılar tarafından okunabilir açıklaması (ör. Mopria, WSD veya epsonds). Bu özellik, bir cihaz birden fazla protokolü destekliyorsa kullanıcının protokoller arasında seçim yapmasına olanak tanımak için kullanılır.

  • scannerId

    dize

    Belirli bir tarayıcının kimliği.

  • güvenli

    boolean

    Doğruysa tarayıcı bağlantısının iletimi, TLS veya USB gibi pasif bir dinleyici tarafından engellenemez.

ScannerOption

Chrome 125+

Özellikler

  • yapılandırılabilirlik

    Yapılandırılabilirlik (Configurability)

    Seçeneğin değiştirilip değiştirilemeyeceğini ve nasıl değiştirilebileceğini gösterir.

  • kısıtlama

    OptionConstraint isteğe bağlı

    Geçerli tarayıcı seçeneğinde OptionConstraint tanımlar.

  • açıklama

    dize

    Seçeneğin daha uzun açıklaması.

  • isActive

    boolean

    Seçeneğin etkin olduğunu ve ayarlanabileceğini veya alınabileceğini gösterir. Yanlışsa value özelliği ayarlanmaz.

  • isAdvanced

    boolean

    Kullanıcı arayüzünün bu seçeneği varsayılan olarak göstermemesi gerektiğini belirtir.

  • isAutoSettable

    boolean

    Tarayıcı sürücüsü tarafından otomatik olarak ayarlanabilir.

  • isDetectable

    boolean

    Bu seçeneğin yazılımdan algılanabileceğini gösterir.

  • isEmulated

    boolean

    Doğruysa tarayıcı sürücüsü tarafından emüle edilir.

  • ad

    dize

    Küçük ASCII harfleri, rakamlar ve tireler kullanılarak oluşturulan seçenek adı. Aksan işaretlerine izin verilmez.

  • title

    dize

    Yazdırılabilir tek satırlık bir başlık.

  • tür

    Bu seçeneğin ayarlanması için gereken value özelliğinde bulunan veri türü.

  • birim

    Bu seçeneğin ölçü birimi.

  • value

    string | number | boolean | number[] isteğe bağlı

    Seçeneğin mevcut değeri (varsa). Bu özelliğin veri türünün, type içinde belirtilen veri türüyle eşleşmesi gerektiğini unutmayın.

ScanOptions

Özellikler

  • maxImages

    number isteğe bağlı

    İzin verilen taranmış resim sayısı. Varsayılan değer 1'dir.

  • mimeTypes

    string[] isteğe bağlı

    Arayan tarafından kabul edilen MIME türleri.

ScanResults

Özellikler

  • dataUrls

    dize[]

    Bir resim etiketine "src" değeri olarak iletilebilecek bir biçimde veri resmi URL'lerinin dizisi.

  • mimeType

    dize

    dataUrls öğesinin MIME türü.

SetOptionResult

Chrome 125+

Özellikler

  • ad

    dize

    Ayarlanan seçeneğin adını gösterir.

  • Seçeneğin ayarlanmasının sonucunu gösterir.

SetOptionsResponse

Chrome 125+

Özellikler

  • seçenekler

    object isteğe bağlı

    Tüm sağlanan seçenekler ayarlanmaya çalışıldıktan sonra yeni yapılandırmayı içeren, seçenek adlarından ScannerOption değerlerine güncellenmiş bir anahtar-değer eşlemesi. Bu, OpenScannerResponse içindeki options özelliğiyle aynı yapıya sahiptir.

    Bu özellik, bazı seçenekler başarıyla ayarlanmamış olsa bile ayarlanır. Ancak güncellenen yapılandırma alınamazsa (örneğin, tarayıcının tarama ortasında bağlantısı kesilirse) ayarlanmaz.

  • sonuç

    Sonuç dizisi. Her bir iletilen OptionSetting için bir sonuç bulunur.

  • scannerHandle

    dize

    setOptions()'ya iletilen tarayıcı tutamacını sağlar.

StartScanOptions

Chrome 125+

Özellikler

  • biçim

    dize

    Taranan verilerin döndürüleceği MIME türünü belirtir.

  • maxReadSize

    number isteğe bağlı

    Sıfır olmayan bir değer belirtilirse tek bir readScanData yanıtında döndürülen maksimum taranan bayt sayısı bu değerle sınırlanır. İzin verilen en küçük değer 32768 (32 KB)'dir. Bu özellik belirtilmezse döndürülen bir parçanın boyutu, taranan resmin tamamı kadar büyük olabilir.

StartScanResponse

Chrome 125+

Özellikler

  • dize isteğe bağlı

    result, SUCCESS ise tarama verilerini okumak veya işi iptal etmek için kullanılabilecek bir işleyici sağlar.

  • Tarama başlatmanın sonucu. Bu özelliğin değeri SUCCESS ise job özelliği doldurulur.

  • scannerHandle

    dize

    startScan()'ya iletilen tarayıcı tutamacını sağlar.

Yöntemler

cancelScan()

Chrome 125+
chrome.documentScan.cancelScan(
  job: string,
)
: Promise<CancelScanResponse>

Başlatılan bir taramayı iptal eder ve CancelScanResponse nesnesiyle çözümlenen bir Promise döndürür. Geri çağırma kullanılırsa nesne bunun yerine geri çağırmaya iletilir.

Parametreler

  • dize

    Daha önce startScan işlevine yapılan bir çağrıdan döndürülen etkin bir tarama işinin tanıtıcısı.

İadeler

closeScanner()

Chrome 125+
chrome.documentScan.closeScanner(
  scannerHandle: string,
)
: Promise<CloseScannerResponse>

Tarayıcıyı iletilen tutamaçla kapatır ve CloseScannerResponse nesnesiyle çözümlenen bir Promise döndürür. Geri çağırma kullanılırsa nesne bunun yerine geri çağırmaya iletilir. Yanıt başarılı olmasa bile sağlanan işleyici geçersiz hale gelir ve başka işlemler için kullanılmamalıdır.

Parametreler

  • scannerHandle

    dize

    Daha önce openScanner çağrısından döndürülen açık bir tarayıcının tanıtıcısını belirtir.

İadeler

getOptionGroups()

Chrome 125+
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
)
: Promise<GetOptionGroupsResponse>

Grup adlarını ve üye seçeneklerini, daha önce openScanner tarafından açılmış bir tarayıcıdan alır. Bu yöntem, GetOptionGroupsResponse nesnesiyle çözümlenen bir Promise döndürür. Bu işleve bir geri çağırma iletilirse döndürülen veriler bunun yerine geri çağırmaya iletilir.

Parametreler

  • scannerHandle

    dize

    openScanner çağrısından döndürülen açık bir tarayıcının tutma yeri.

İadeler

getScannerList()

Chrome 125+
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
)
: Promise<GetScannerListResponse>

Kullanılabilir tarayıcıların listesini alır ve GetScannerListResponse nesnesiyle çözümlenen bir Promise döndürür. Bu işleve bir geri çağırma iletilirse döndürülen veriler bunun yerine geri çağırmaya iletilir.

Parametreler

İadeler

openScanner()

Chrome 125+
chrome.documentScan.openScanner(
  scannerId: string,
)
: Promise<OpenScannerResponse>

Özel erişim için bir tarayıcı açar ve OpenScannerResponse nesnesiyle çözümlenen bir Promise döndürür. Bu işleve bir geri çağırma iletilirse döndürülen veriler bunun yerine geri çağırmaya iletilir.

Parametreler

  • scannerId

    dize

    Açılacak tarayıcının kimliği. Bu değer, getScannerList için yapılan önceki bir çağrıdan döndürülen değerdir.

İadeler

readScanData()

Chrome 125+
chrome.documentScan.readScanData(
  job: string,
)
: Promise<ReadScanDataResponse>

Etkin bir iş tanıtıcısından kullanılabilir görüntü verilerinin bir sonraki parçasını okur ve ReadScanDataResponse nesnesiyle çözümlenen bir Promise döndürür. Geri çağırma kullanılırsa nesne bunun yerine geri çağırmaya iletilir.

**Not:**Yanıt sonucunun, sıfır uzunlukta bir data üyesiyle SUCCESS olması geçerlidir. Bu, tarayıcının çalışmaya devam ettiği ancak henüz ek verilerin hazır olmadığı anlamına gelir. Arayan kişi kısa bir süre bekleyip tekrar denemelidir.

Tarama işi tamamlandığında yanıtta EOF sonuç değeri bulunur. Bu yanıtta, sıfır olmayan son bir data üyesi olabilir.

Parametreler

  • dize

    Daha önce startScan tarafından döndürülen etkin iş kolu.

İadeler

scan()

chrome.documentScan.scan(
  options: ScanOptions,
)
: Promise<ScanResults>

Belge taraması yapar ve ScanResults nesnesiyle çözümlenen bir Promise döndürür. Bu işleve bir geri çağırma iletilirse döndürülen veriler bunun yerine iletilir.

Parametreler

  • seçenekler

    Tarama parametrelerini içeren bir nesne.

İadeler

  • Promise<ScanResults>

    Chrome 96 veya daha yeni bir sürüm

setOptions()

Chrome 125+
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
)
: Promise<SetOptionsResponse>

Belirtilen tarayıcıda seçenekleri ayarlar ve iletilen OptionSetting nesnesindeki her değeri sırayla ayarlama denemesinin sonucunu içeren bir SetOptionsResponse nesnesiyle çözümlenen bir Promise döndürür. Geri çağırma kullanılırsa nesne bunun yerine geri çağırmaya iletilir.

Parametreler

  • scannerHandle

    dize

    Seçenekleri ayarlamak için tarayıcının tutma yeri. Bu, daha önce openScanner çağrısından döndürülen bir değer olmalıdır.

  • seçenekler

    Tarayıcıya uygulanacak OptionSetting nesnelerinin listesi.

İadeler

startScan()

Chrome 125+
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
)
: Promise<StartScanResponse>

Belirtilen tarayıcıda tarama başlatır ve StartScanResponse ile çözümlenen bir Promise döndürür. Geri çağırma kullanılırsa nesne bunun yerine geri çağırmaya iletilir. Arama başarılı olursa yanıtta, tarama verilerini okumak veya taramayı iptal etmek için sonraki aramalarda kullanılabilecek bir iş tanıtıcısı bulunur.

Parametreler

  • scannerHandle

    dize

    Açık bir tarayıcının tutma yeri. Bu, daha önce openScanner çağrısından döndürülen bir değer olmalıdır.

  • seçenekler

    Tarama için kullanılacak seçenekleri belirten bir StartScanOptions nesnesi. StartScanOptions.format özelliği, tarayıcının ScannerInfo içinde döndürülen girişlerden biriyle eşleşmelidir.

İadeler