chrome.documentScan

Açıklama

Ekli doküman tarayıcılardan görüntü bulmak ve almak için chrome.documentScan API'yi kullanın.

DocumentScan API, uygulamaların ve uzantıların ekli bir doküman tarayıcıdaki kağıt dokümanların içeriğini görüntülemesine olanak tanımak için tasarlanmıştır.

İzinler

documentScan

Kullanılabilirlik

Chrome 44 ve sonraki sürümler Yalnızca ChromeOS
Daha sonra eklenen API üyelerinin müsaitlik durumu, bu üyelerle birlikte gösterilir.

Kavramlar ve kullanım

Bu API, belgeleri taramanın iki yöntemini destekler. Kullanım alanınız herhangi bir tarayıcıda çalışabiliyorsa ve yapılandırma kontrolü 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

Basit kullanım alanları (yani herhangi bir tarayıcıda çalışabilen ve yapılandırma kontrolü gerektirmeyen) için scan() işlevini çağırın. Bu yöntem, bir ScanOptions nesnesi alır ve ScanResults nesnesi ile çözülen bir Promise döndürür. Bu seçeneğin özellikleri, tarama sayısı ve arayan tarafından kabul edilecek MIME türleriyle sınırlıdır. Taramalar, kullanıcı arayüzü için bir <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, bir yanıtta döndürülen her yöntem bağımsız değişkenini veya her mülkü açıklamaz. Bu doküman, tarayıcı kodu yazma konusunda size genel bir rehberlik sunmayı amaçlamaktadır.

Discovery

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

    • Yanıt nesnesi, bir dizi ScannerInfo nesnesi içerir.
    • Tarayıcı birden fazla protokol veya bağlantı yöntemini destekliyorsa dizi tek bir tarayıcı için birden fazla giriş içerebilir.
  2. Döndürülen diziden bir tarayıcı seçin ve scannerId mülkünün değerini kaydedin.

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

Tarayıcı yapılandırması

  1. Kayıtlı tarayıcı kimliğini göndererek 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 mülkü.

    • Tarayıcıya özgü özellikleri içeren ve ayarlamanız gereken bir seçenekler mülkü. Daha fazla bilgi için Tarayıcı seçeneklerini alma bölümüne bakın.

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

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

  4. Tarayıcı seçeneklerini ayarlamak için OptionSetting nesne dizisini setOptions() öğesine iletin. SetOptionsResponse ile çözülen 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()'e iletin. StartScanResponse ile çözülen bir Promise döndürür. job mülkü, tarama verilerini okumak veya taramayı iptal etmek için kullanacağınız bir tutamaçtır.

  2. İşe ait iş kimliğini readScanData()'a iletin. ReadScanDataResponse nesnesi ile çözülen bir Promise döndürür. Veriler başarıyla okunmuşsa result mülkü SUCCESS'a eşit olur ve data mülkü, taramanın bir kısmını içeren bir ArrayBuffer içerir. estimatedCompletion değerinin, şu ana kadar yayınlanan toplam verilerin tahmini yüzdesini içerdiğini unutmayın.

  3. result mülkü EOF değerine veya bir hataya eşit olana kadar önceki adımı tekrarlayın.

Taramanın sonuna ulaşıldığında 3. adımda kaydedilen tarayıcı kimliğini kullanarak closeScanner() çağrısı yapın. CloseScannerResponse ile çözülen bir Promise döndürür. İş oluşturulduktan sonra dilediğiniz zaman cancelScan() çağrısı yaparak taramayı sonlandırabilirsiniz.

Yanıt nesneleri

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

Örneğin, OpenScannerResponse.scannerHandle yalnızca OpenScannerResponse.result SUCCESS'ye 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şiklik gösterir. Sonuç olarak, tarayıcı seçeneklerini doğrudan documentScan API'ye yansıtmak mümkün değildir. Bu sorunun önüne geçmek için OpenScannerResponse (openScanner() kullanılarak alınır) ve SetOptionsResponse (setOptions() için yanıt nesnesi) tarayıcıya özgü seçenekler içeren bir nesne olan options mülkünü içerir. Her seçenek, anahtarın cihaza özgü bir seçenek olduğu ve değerin ScannerOption örneği olduğu bir anahtar/değer eşlemesidir.

Yapı genellikle şu şekildedir:

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

Örneğin, "source" ve "resolution" adlı seçenekler döndüren bir tarayıcı düşünün. Döndürülen options nesnesinin yapısı aşağıdaki örneğe benzer. Kolay anlaşılması 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çeneğin değerini seçmesini isteyebilirsiniz. Bunun için bir kullanıcı arayüzü gerekir. Önceki bölümde açıklandığı gibi, bağlı tarayıcının seçeneklerini almak için OpenScannerResponse simgesini (openScanner() tarafından açılır) kullanın.

Bazı tarayıcılar, seçenekleri cihaza özel şekilde gruplandırır. Bu gruplar, seçenek davranışlarını etkilemez ancak tarayıcının ürün dokümanlarında bu gruplardan bahsedildiğinden kullanıcıya gösterilmelidir. Bu grupları getOptionGroups()'i arayarak alabilirsiniz. Bu işlev, GetOptionGroupsResponse nesnesi ile çözülen bir Promise döndürür. groups mülkü, tarayıcıya özgü bir grup dizisi içerir. OpenScannerResponse'daki seçenekleri görüntüleme için düzenlemek üzere bu gruplardaki bilgileri kullanın.

{
  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çeneğin kısıtlamalarını 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 gerektiği kadar tekrarlayın.

Tarayıcı seçeneklerini ayarlama

setOptions()'e bir OptionSetting nesnesi dizisi göndererek tarayıcı seçeneklerini ayarlayın. Örnek olarak aşağıdaki Bir A4 sayfasını tarama bölümüne bakın.

Örnekler

Bir sayfayı blob olarak alma

Bu örnekte, bir sayfanın tarayıcıdan blob olarak nasıl alınacağı gösterilmektedir. Ayrıca OperationResult değerini kullanarak startScan() ve readScanData()'un kullanımı gösterilmektedir.

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 A4 sayfası tarama

Bu örnekte, tarayıcının nasıl seçileceği, seçeneklerinin nasıl ayarlanacağı ve 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() kullanılmaktadır. Sayfanın içeriğinin, ö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, bir tarayıcının yapılandırma seçeneklerini kullanıcıya göstermek için openScanner() çağrısından döndürülen tarayıcı seçeneklerine ek olarak getOptionGroups() çağrısı da gereklidir. Bu, seçeneklerin üretici tarafından tanımlanan gruplardaki kullanıcılara gösterilebilmesi içindir. Bu örnekte bunun 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() işlevine iletilen iş işleyicisini sağlar.

  • Arka uçtaki tarama iptal sonucu. Sonuç OperationResult.SUCCESS veya OperationResult.CANCELLED ise tarama iptal edilmiş demektir ve tarayıcı yeni bir tarama başlatmaya hazırdır. Sonuç OperationResult.DEVICE_BUSY ise tarayıcı, istenen iptal işlemini hâlâ gerçekleştiriyor demektir. Arayan, 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ının kapatılmasının sonucu. Bu değer SUCCESS olmasa bile herkese açık kullanıcı adı geçersiz olur ve başka işlemler için kullanılmamalıdır.

  • scannerHandle

    dize

    closeScanner işlevine iletilenle aynı tarayıcı işleyicisi.

Configurability

Chrome 125+

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

Enum

"NOT_CONFIGURABLE"
Bu seçenek salt okunur.

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

"HARDWARE_CONFIGURABLE"
Bu seçenek, kullanıcının tarayıcıdaki bir düğmeyi açarak veya kapatarak ayarlayabileceği bir seçenektir.

ConnectionType

Chrome 125+

Tarayıcının bilgisayara nasıl bağlandığını belirtir.

Enum

"UNSPECIFIED"

"USB"

"NETWORK"

ConstraintType

Chrome 125+

OptionConstraint ile temsil edilen kısıtlamanın veri türü.

Enum

"INT_RANGE"
OptionType.INT değer aralığı üzerindeki kısıtlama. OptionConstraint öğesinin min, max ve quant özellikleri long olur ve list özelliğinin değeri kaldırılır.

"FIXED_RANGE"
OptionType.FIXED değer aralığıyla ilgili kısıtlama. OptionConstraint'ın min, max ve quant özellikleri double olur ve list özelliğinin değeri kaldırılır.

"INT_LIST"
Belirli bir OptionType.INT değeri listesindeki kısıtlama. OptionConstraint.list mülkü long değerlerini, diğer mülkler ise ayarlanmamış olacaktır.

"FIXED_LIST"
Belirli bir OptionType.FIXED değeri listesindeki kısıtlama. OptionConstraint.list mülkü double değerlerini, diğer mülkler ise ayarlanmamış olacaktır.

"STRING_LIST"
Belirli bir OptionType.STRING değeri listesindeki kısıtlama. OptionConstraint.list mülkü DOMString değerlerini, diğer mülkler ise ayarlanmamış olacaktır.

DeviceFilter

Chrome 125+

Özellikler

  • local

    boole isteğe bağlı

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

  • güvenli

    boole isteğe bağlı

    Yalnızca USB veya TLS gibi güvenli aktarım kullanan tarayıcıları döndürün.

GetOptionGroupsResponse

Chrome 125+

Özellikler

  • groups

    OptionGroup[] isteğe bağlı

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

  • Seçenek gruplarının alınmasının sonucu. Bu değerin SUCCESS olması durumunda groups özelliği doldurulur.

  • scannerHandle

    dize

    getOptionGroups işlevine iletilenle aynı tarayıcı işleyicisi.

GetScannerListResponse

Chrome 125+

Özellikler

  • Numaralandırma sonucu. Hata olsa bile kısmi sonuçlar döndürülebileceğini unutmayın.

  • Tarayıcılar

    Sağlanan DeviceFilter ile eşleşen tarayıcıların listesi (boş olabilir).

OpenScannerResponse

Chrome 125+

Özellikler

  • seçenekler

    nesne isteğe bağlı

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

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

  • scannerHandle

    dize isteğe bağlı

    result SUCCESS ise tarayıcı için daha fazla işlemde kullanılabilecek bir herkese açık tanımlayıcı.

  • scannerId

    dize

    Tarayıcı kimliği openScanner() olarak iletildi.

OperationResult

Chrome 125+

Her işlemin sonucunu belirten bir enum.

Enum

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

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

"UNSUPPORTED"
İşlem desteklenmiyor.

"İPTAL EDİLDİ"
İşlem iptal edildi.

"DEVICE_BUSY"
Cihaz meşgul.

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

"WRONG_TYPE"
Sağladığınız değer, temel seçenek için yanlış veri türünde.

"EOF"
Daha fazla veri yok.

"ADF_JAMMED"
Doküman besleyici sıkıştı.

"ADF_EMPTY"
Doküman besleyici boş.

"COVER_OPEN"
Düz tabla kapağı açık.

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

"ACCESS_DENIED"
Cihaz için kimlik doğrulaması gerekir.

"NO_MEMORY"
Chromebook'ta işlemi tamamlayacak yeterli bellek yok.

"UNREACHABLE"
Cihaz erişilebilir değil.

"MISSING"
Cihazın bağlantısı kesildi.

"INTERNAL_ERROR"
Arayan 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

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

OptionSetting

Chrome 125+

Özellikler

  • ad

    dize

    Ayarlanacak seçeneğin adını belirtir.

  • tür

    Seçeneğin veri türünü belirtir. İstenen veri türü, temel seçenekteki gerçek veri türüyle eşleşmelidir.

  • value

    dize | sayı | boole | sayı[] isteğe bağlı

    Ayarlanacak değeri belirtir. autoSettable etkin olan seçenekler için otomatik ayar isteğinde bulunmak üzere ayarlanmadı 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 mülkü ayarlanmayacak.

"BOOL"
value mülkü truefalse değerlerinden biri olacaktır.

"INT"
32 bitlik, imzalı bir tam sayı. value mülkü, seçeneğin birden fazla değer alıp almadığına bağlı olarak long veya long[] olur.

"FIXED"
1/65535 çözünürlüğe sahip -32768-32767.9999 aralığında bir çift. value özelliği, seçeneğin birden fazla değer alıp almadığına bağlı olarak double veya double[] olur. Tam olarak temsil edilemeyen çift değerler, mevcut aralık ve kesinliğe yuvarlanır.

"STRING"
NUL ('\0') hariç herhangi bir bayttan oluşan bir dize. value özelliği bir DOM dizesi olacaktır.

"BUTTON"
Bu tür bir seçeneğin değeri yoktur. Bunun yerine, bu tür bir seçenek ayarlamak tarayıcı sürücüsünde seçeneğe özgü bir yan etkiye neden olur. Örneğin, düğmeyle tıklanan bir seçenek, varsayılan değerleri seçmek veya otomatik belge besleyiciye bir sonraki kağıda geçmesini söylemek için bir tarayıcı sürücüsü tarafından kullanılabilir.

"GROUP"
Gruplandırma seçeneği. Değer yok. Bu, uyumluluk için dahil edilmiştir ancak normalde ScannerOption değerlerinde döndürülmez. Grupların üye seçenekleriyle birlikte listesini almak için getOptionGroups() seçeneğini 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 (ör. tarama boyutları).

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

"PERCENT"
Değer bir yüzdedir (ör. parlaklık).

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

ReadScanDataResponse

Chrome 125+

Özellikler

  • veri

    ArrayBuffer isteğe bağlı

    result SUCCESS ise taranan resim verilerinin sonraki parçasını içerir. result EOF ise taranan resim verilerinin son bölümü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 tahmin (0 ila 100 arasında).

  • dize

    readScanData()'e iletilen iş kimliğini sağlar.

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

ScannerInfo

Chrome 125+

Özellikler

  • connectionType

    Tarayıcının bilgisayara nasıl bağlandığını belirtir.

  • deviceUuid

    dize

    Aynı fiziksel cihazı gösteren 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ının 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 (ör. Mopria, WSD veya epsonds) kullanıcılar tarafından okunabilir açıklaması. Bu özellik, bir cihaz birden fazla protokolü destekliyorsa kullanıcının protokoller arasında seçim yapmasına olanak tanır.

  • scannerId

    dize

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

  • güvenli

    boolean

    Doğru ise tarayıcı bağlantısının aktarımı, TLS veya USB gibi pasif bir dinleyici tarafından yakalanamaz.

ScannerOption

Chrome 125+

Özellikler

  • yapılandırılabilirlik

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

  • kısıtlama

    OptionConstraint isteğe bağlı

    Geçerli tarayıcı seçeneğinde OptionConstraint değerini 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ış ise value mülkü ayarlanmaz.

  • isAdvanced

    boolean

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

  • 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ğru ise tarayıcı sürücüsü tarafından taklit edilir.

  • ad

    dize

    Küçük ASCII harfleri, sayılar ve kısa çizgiler içeren seçenek adı. Aksan işaretlerine izin verilmez.

  • title

    dize

    Basılabilir, tek satırlık bir başlık.

  • tür

    Bu seçeneği ayarlamak için gereken value mülkünde bulunan veri türü.

  • birim

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

  • value

    dize | sayı | boole | sayı[] isteğe bağlı

    İlgiliyse seçeneğin mevcut değeri. Bu özelliğin veri türünün, type özelliğ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 biçimdeki bir veri resmi URL'si 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

    nesne isteğe bağlı

    Sağlanan tüm seçenekleri ayarlamaya çalıştıktan sonra, seçenek adlarından ScannerOption değerlerine yeni yapılandırmayı içeren güncellenmiş bir anahtar/değer eşlemesi. Bu, OpenScannerResponse içindeki options mülküyle aynı yapıya sahiptir.

    Bu özellik, bazı seçenekler başarıyla ayarlanmasa bile ayarlanır ancak güncellenmiş yapılandırma alınamazsa (ör. tarama işleminin ortasında tarayıcının bağlantısı kesilirse) ayar kaldırılır.

  • sonuç

    İletilen her OptionSetting için bir tane olmak üzere bir sonuç dizisi.

  • scannerHandle

    dize

    setOptions() işlevine iletilen tarayıcı adı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ını bu değerle sınırlar. İzin verilen en küçük değer 32768'dir (32 KB). 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 tutamaç sağlar.

  • Taramanın başlatılmasının sonucu. Bu değerin SUCCESS olması durumunda job özelliği doldurulur.

  • scannerHandle

    dize

    startScan() işlevine iletilen aynı tarayıcı işleyicisini sağlar.

Yöntemler

cancelScan()

Promise Chrome 125+
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)

Başlatılan bir taramayı iptal eder ve CancelScanResponse nesnesi ile çözülen bir Promise döndürür. Geri çağırma işlevi kullanılıyorsa nesne bunun yerine geri çağırma işlevine iletilir.

Parametreler

  • dize

    Daha önce startScan çağrısından döndürülen etkin bir tarama işinin herkese açık adı.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (response: CancelScanResponse) => void

İadeler

  • Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

closeScanner()

Promise Chrome 125+
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)

Geçirilen tutamaçla tarayıcıyı kapatır ve CloseScannerResponse nesnesi ile çözülen bir Promise döndürür. Geri çağırma işlevi kullanılıyorsa nesne bunun yerine geri çağırma işlevine iletilir. Yanıt başarılı olmasa bile sağlanan herkese açık kullanıcı adı 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 herkese açık kullanıcı adını belirtir.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (response: CloseScannerResponse) => void

İadeler

  • Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

getOptionGroups()

Promise Chrome 125+
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)

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

Parametreler

  • scannerHandle

    dize

    openScanner adresine yapılan bir aramadan açık bir tarayıcının herkese açık kullanıcı adı döndürüldü.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (response: GetOptionGroupsResponse) => void

İadeler

  • Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

getScannerList()

Promise Chrome 125+
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)

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

Parametreler

İadeler

  • Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

openScanner()

Promise Chrome 125+
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)

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

Parametreler

  • scannerId

    dize

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

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (response: OpenScannerResponse) => void

İadeler

  • Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

readScanData()

Promise Chrome 125+
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)

Etkin bir iş işleyicisinden kullanılabilen görüntü verilerinin bir sonraki parçasını okur ve ReadScanDataResponse nesnesi ile çözülen bir Promise döndürür. Geri çağırma işlevi kullanılıyorsa nesne bunun yerine geri çağırma işlevine iletilir.

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

Tarama işi tamamlandığında yanıtın sonuç değeri EOF olur. Bu yanıtta, sıfır olmayan nihai bir data üyesi bulunabilir.

Parametreler

  • dize

    Daha önce startScan tarafından döndürülen etkin iş herkese açık kullanıcı adı.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (response: ReadScanDataResponse) => void

İadeler

  • Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

scan()

Promise
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)

Belge taraması gerçekleştirir ve ScanResults nesnesi ile çözülen bir Promise döndürür. Bu işleve bir geri çağırma işlevi iletilirse döndürülen veriler bunun yerine iletilir.

Parametreler

  • seçenekler

    Tarama parametrelerini içeren bir nesne.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (result: ScanResults) => void

İadeler

  • Promise<ScanResults>

    Chrome 96 ve üzeri sürümler

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

setOptions()

Promise Chrome 125+
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)

Belirtilen tarayıcıda seçenekleri ayarlar ve her değeri, iletilen OptionSetting nesnesinin sırasına göre ayarlamaya çalışmanın sonucunu içeren bir SetOptionsResponse nesnesi ile çözülen bir Promise döndürür. Geri çağırma işlevi kullanılıyorsa nesne bunun yerine geri çağırma işlevine iletilir.

Parametreler

  • scannerHandle

    dize

    Seçenekleri ayarlamak için tarayıcının kolu. Bu, daha önce openScanner işlevine yapılan bir çağrıdan döndürülen bir değer olmalıdır.

  • seçenekler

    Tarayıcıya uygulanacak OptionSetting nesnelerinin listesi.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (response: SetOptionsResponse) => void

İadeler

  • Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

startScan()

Promise Chrome 125+
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)

Belirtilen tarayıcıda tarama başlatır ve StartScanResponse ile çözülen bir Promise döndürür. Geri çağırma işlevi kullanılıyorsa nesne bunun yerine geri çağırma işlevine iletilir. Arama başarılıysa yanıtta, tarama verilerini okumak veya bir taramayı iptal etmek için sonraki aramalarda kullanılabilecek bir iş işleyicisi bulunur.

Parametreler

  • scannerHandle

    dize

    Açık bir tarayıcının kolu. Bu, daha önce openScanner işlevine yapılan bir çağrıdan 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 özelliğinde döndürülen girişlerden biriyle eşleşmelidir.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (response: StartScanResponse) => void

İadeler

  • Sözler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.