browser.documentScan

Açıklama

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

Document Scan API, uygulamaların 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 ve sonraki sürümler Chrome 148'den itibaren browser.* Yalnızca ChromeOS
Daha sonra eklenen API üyelerinin kullanılabilirlik durumu, 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

Her tarayıcıyla çalışabilen ve yapılandırma kontrolü gerektirmeyen basit kullanım alanları için scan() yöntemini çağırın. Bu yöntem bir ScanOptions nesnesi alır ve bir ScanResults nesnesiyle çözümlenen 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 <img> etiketinde gösterilecek URL'ler 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 taslak, her yöntem bağımsız değişkenini veya bir yanıtta döndürülen her özelliği açıklamaz. Yalnızca tarayıcı kodu yazma konusunda genel bir rehberlik sunmayı amaçlar.

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, bir ScannerInfo nesneleri dizisi içerir.
    • Tarayıcı birden fazla protokolü veya bağlantı yöntemini destekliyorsa dizide tek bir tarayıcı için birden fazla giriş bulunabilir.
  2. Döndürülen diziden bir tarayıcı seçin ve scannerId özelliğinin değerini kaydedin.

    Aynı tarayıcıya ait birden fazla nesneyi ayırt etmek için ayrı ayrı ScannerInfo nesnelerinin özelliklerini kullanın. Aynı tarayıcıdan gelen 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. Kayıtlı tarayıcı kimliğini ileterek openScanner() yöntemini çağırın. OpenScannerResponse ile çözümlenen 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 mülkü. Bu mülkü ayarlamanız gerekir. 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ğerler 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ı almaya ihtiyacınız olacak. 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 nesneleri dizisini setOptions() yöntemine 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 bunu startScan() yöntemine 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 tanıtıcıdır.

  2. İş tanıtıcısını readScanData() öğesine iletin. Bir ReadScanDataResponse nesnesiyle çözümlenen bir Promise döndürür. Veriler başarıyla okunduysa result özelliği SUCCESS değerine eşit olur ve data özelliği, taramanın bir kısmını içeren bir ArrayBuffer içerir. estimatedCompletion, şu ana kadar yayınlanan toplam verilerin tahmini yüzdesini içerir.

  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ı tutma yeri ile closeScanner() işlevini çağırın. CloseScannerResponse ile çözümlenen bir Promise döndürür. İş oluşturulduktan sonra herhangi bir zamanda cancelScan() çağrıldığında tarama sona erer.

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 öğesinin bir üyesi olan bir result özelliği içerir. result 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çıklanmıştır.

Örneğin, OpenScannerResponse.scannerHandle yalnızca OpenScannerResponse.result, SUCCESS değerine 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. 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 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, "kaynak" ve "çözünürlük" 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. 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ç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 (openScanner() tarafından açılır) seçeneğini kullanın.

Bazı tarayıcılar, seçenekleri cihaza özgü şekillerde gruplandırır. Seçenek davranışlarını etkilemezler ancak bu gruplardan bir tarayıcının ürün belgelerinde bahsedilebileceğinden, bu tür gruplar kullanıcıya gösterilmelidir. Bu grupları getOptionGroups() yöntemini çağırarak alabilirsiniz. Bu, GetOptionGroupsResponse nesnesiyle çözümlenen bir Promise döndürür. groups özelliği, tarayıcıya özgü bir grup dizisi içerir. OpenScannerResponse'deki seçenekleri görüntülemek üzere düzenlemek için 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ği değiştirmek 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 bu işlemi tekrarlayın.

Tarayıcı seçeneklerini ayarlama

setOptions() öğesine bir OptionSetting nesne dizisi ileterek tarayıcı seçeneklerini ayarlayın. Örnek için aşağıdaki Mektup boyutunda bir sayfayı tarama bölümüne bakın.

Örnekler

Sayfayı blob olarak alma

Bu örnekte, tarayıcıdan bir sayfanın blob olarak nasıl alınacağı gösterilmekte ve OperationResult değeri kullanılarak startScan() ile readScanData()'nin kullanımı açıklanmaktadır.

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

  let imgParts = [];
  response = await browser.documentScan.readScanData(job);
  while (response.result == browser.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 browser.documentScan.readScanData(job);
  }
  if (response.result != browser.documentScan.OperationResult.EOF) {
    return null;
  }
  if (response.data && response.data.byteLength > 0) {
    imgParts.push(response.data);
  }
  return new Blob(imgParts, { type: "image/jpeg" });
}

Letter boyutunda bir sayfa tarama

Bu örnekte, tarayıcı seçme, seçeneklerini ayarlama ve tarayıcıyı açma işlemleri gösterilmektedir. Ardından tek bir sayfanın içeriğini alır ve tarayıcıyı kapatır. Bu süreçte getScannerList(), openScanner(), setOptions() ve closeScanner() kullanımı gösterilmektedir. Sayfanın içeriğinin, önceki örnekteki pageAsBlob() işlevi çağrılarak alındığını unutmayın.

async function scan() {
    let response = await browser.documentScan.getScannerList({ secure: true });
    let scanner = await browser.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: browser.documentScan.OptionType.STRING,
                value: { value: source }
            });
            break;
        }
    }
    options.push({
        name: "tl-x",
        type: browser.documentScan.OptionType.FIXED,
        value: 0.0
    });
    options.push({
        name: "br-x",
        type: browser.documentScan.OptionType.FIXED,
        value: 215.9  // 8.5" in mm
    });
    options.push({
        name: "tl-y",
        type: browser.documentScan.OptionType.FIXED,
        value: 0.0
    });
    options.push({
        name: "br-y",
        type: browser.documentScan.OptionType.FIXED,
        value: 279.4  // 11" in mm
    });
    response = await browser.documentScan.setOptions(handle, options);

    let imgBlob = await pageAsBlob(handle);
    if (imgBlob != null) {
        // Insert imgBlob into DOM, save to disk, etc
    }
    await browser.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ından döndürülen tarayıcı seçeneklerine ek olarak getOptionGroups() çağrısı yapılması gerekir. Bu sayede, seçenekler kullanıcılara üretici tarafından tanımlanan gruplar halinde gösterilebilir. Bu örnekte bunun nasıl yapılacağı gösterilmektedir.

async function showConfig() {
  let response = await browser.documentScan.getScannerList({ secure: true });
  let scanner = await browser.documentScan.openScanner(
      response.scanners[0].scannerId);
  let groups = await browser.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 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • iş

    dize

    cancelScan() işlevine iletilen iş tanıtıcısının aynısını sağlar.

  • Arka ucun taramayı iptal etme sonucu. Sonuç OperationResult.SUCCESS veya OperationResult.CANCELLED ise tarama iptal edilmiştir 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şliyordur. 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 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • Tarayıcıyı kapatma işleminin 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 iletilen tarayıcı tanıtıcısı.

Configurability

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

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ı tarafından tarayıcıdaki bir düğme açılıp kapatılarak veya basılarak ayarlanabilir.

ConnectionType

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

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

Enum

"UNSPECIFIED"

"USB"

"NETWORK"

ConstraintType

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

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

Enum

"INT_RANGE"
OptionType.INT değer aralığıyla ilgili kısıtlama. OptionConstraint öğesinin min, max ve quant özellikleri long olacak ve list özelliği ayarlanmayacak.

"FIXED_RANGE"
OptionType.FIXED değerleri aralığındaki kısıtlama. OptionConstraint öğesinin min, max ve quant özellikleri double olarak ayarlanacak ve list özelliği kaldırılacak.

"INT_LIST"
Belirli bir OptionType.INT değerleri listesindeki kısıtlama. OptionConstraint.list özelliği long değerlerini içerecek ve diğer özellikler ayarlanmayacak.

"FIXED_LIST"
Belirli bir OptionType.FIXED değerleri listesindeki kısıtlama. OptionConstraint.list özelliği double değerlerini içerecek ve diğer özellikler ayarlanmayacak.

"STRING_LIST"
Belirli bir OptionType.STRING değerleri listesindeki kısıtlama. OptionConstraint.list özelliği DOMString değerlerini içerecek ve diğer özellikler ayarlanmayacak.

DeviceFilter

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • local

    boole isteğe bağlı

    Yalnızca doğrudan bilgisayara bağlı tarayıcıları döndürür.

  • güvenli

    boole isteğe bağlı

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

GetOptionGroupsResponse

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

Ö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 verir.

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

  • scannerHandle

    dize

    getOptionGroups işlevine iletilen tarayıcı tanıtıcısı.

GetScannerListResponse

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • Numaralandırma sonucu. Bu bir hata olduğunu gösterse 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 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • seçenekler

    isteğe bağlı nesne

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

  • Tarayıcıyı açma işleminin sonucu. Bu değer SUCCESS ise scannerHandle ve options özellikleri doldurulur.

  • scannerHandle

    string isteğe bağlı

    result, SUCCESS ise tarayıcı için daha sonraki işlemlerde kullanılabilecek bir tanıtıcı.

  • scannerId

    dize

    Tarayıcı kimliği openScanner() değerine geçirildi.

OperationResult

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

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"
Doküman besleyici sıkıştı.

"ADF_EMPTY"
Belge besleyici boş.

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

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

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

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

"UNREACHABLE"
Cihaza ulaşılamıyor.

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

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

OptionConstraint

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

Ö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 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • üyeler

    string[]

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

  • title

    dize

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

OptionSetting

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

Ö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çeneğin gerçek veri türüyle eşleşmelidir.

  • value

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

    Ayarlanacak değeri belirtir. autoSettable etkinleştirilmiş 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 ve sonraki sürümler Chrome 148'den itibaren browser.*

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

Enum

"UNKNOWN"
Seçeneğin veri türü bilinmiyor. value özelliği kaldırılacak.

"BOOL"
value özelliği truefalse değerlerinden biri olur.

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

"FIXED"
-32768 ile 32767,9999 aralığında, 1/65535 çözünürlüğe sahip bir double. 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ığa ve kesinliğe yuvarlanır.

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

"BUTTON"
Bu tür 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, düğme türü bir seçenek, varsayılan değerleri seçmek veya otomatik doküman besleyiciye bir sonraki kağıda geçmesini söylemek için 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. getOptionGroups()Üye seçenekleriyle birlikte grupların listesini almak için bu yöntemi kullanın.

OptionUnit

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

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, parlaklık gibi bir yüzdedir.

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

ReadScanDataResponse

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • veri

    ArrayBuffer isteğe bağlı

    result, SUCCESS ise taranan resim verilerinin sonraki parçasını içerir. result, EOF ise taranan görüntü verilerinin son parçasını içerir.

  • estimatedCompletion

    number isteğe bağlı

    result, SUCCESS ise toplam tarama verilerinin şu ana kadar ne kadarının yayınlandığına dair 0 ile 100 arasında bir tahmin.

  • iş

    dize

    readScanData() öğesine 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 uzunlukta) resim verisi parçasını içerir. Değeri EOF ise data, resim verilerinin son parçasını içerir.

ScannerInfo

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • connectionType

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

  • deviceUuid

    dize

    Aynı fiziksel cihazı işaret eden diğer ScannerInfo girişleriyle eşleştirmek için kullanılır.

  • imageFormats

    string[]

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

  • üretici

    dize

    Tarayıcı üreticisi.

  • model

    dize

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

  • ad

    dize

    Tarayıcının kullanıcı arayüzünde gösterilecek, kullanıcı tarafından okunabilen 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, öncelikle bir cihazın birden fazla protokolü desteklemesi durumunda kullanıcının protokoller arasında seçim yapmasına olanak tanımak için kullanışlıdır.

  • scannerId

    dize

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

  • güvenli

    boole

    Doğru değerine ayarlanırsa tarayıcı bağlantısının aktarımı, TLS veya USB gibi pasif bir dinleyici tarafından kesilemez.

ScannerOption

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • yapılandırılabilirlik

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

  • sınırlama

    OptionConstraint isteğe bağlı

    Mevcut tarayıcı seçeneğinde OptionConstraint değerini tanımlar.

  • açıklama

    dize

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

  • isActive

    boole

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

  • isAdvanced

    boole

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

  • isAutoSettable

    boole

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

  • isDetectable

    boole

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

  • isEmulated

    boole

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

  • ad

    dize

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

  • title

    dize

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

  • tür

    Bu seçeneği ayarlamak 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

    string[]

    Bir resim etiketine "src" değeri olarak iletilebilecek biçimdeki veri resmi URL'leri dizisi.

  • mimeType

    dize

    dataUrls öğesinin MIME türü.

SetOptionResult

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • ad

    dize

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

  • Seçeneği ayarlamanın sonucunu gösterir.

SetOptionsResponse

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • seçenekler

    isteğe bağlı nesne

    Sağlanan tüm seçenekleri ayarlamaya çalıştı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.

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

  • sonuç

    Her bir OptionSetting için birer tane olmak üzere sonuç dizisi.

  • scannerHandle

    dize

    setOptions() işlevine iletilen tarayıcı tanıtıcısını sağlar.

StartScanOptions

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

Ö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 dışında bir değer belirtilirse tek bir readScanData yanıtında döndürülen taranmış maksimum bayt sayısını bu değerle sınırlandırır. İzin verilen en küçük değer 32768'dir (32 KB). Bu özellik belirtilmezse döndürülen parçanın boyutu, taranan resmin tamamı kadar büyük olabilir.

StartScanResponse

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*

Özellikler

  • iş

    string isteğe bağlı

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

  • Tarama başlatma işleminin sonucu. Bu değer SUCCESS ise job özelliği doldurulur.

  • scannerHandle

    dize

    startScan() işlevine iletilen tarayıcı tutma yerinin aynısını sağlar.

Yöntemler

cancelScan()

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.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ıyorsa nesne bunun yerine geri çağırmaya iletilir.

Parametreler

  • iş

    dize

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

İadeler

closeScanner()

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.documentScan.closeScanner(
  scannerHandle: string,
)
: Promise<CloseScannerResponse>

Tarayıcıyı, iletilen tutma yeriyle kapatır ve CloseScannerResponse nesnesiyle çözümlenen bir Promise döndürür. Geri çağırma kullanılıyorsa nesne bunun yerine geri çağırmaya iletilir. Yanıt başarılı olmasa bile, sağlanan tutma yeri 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 tutma yerini belirtir.

İadeler

getOptionGroups()

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.documentScan.getOptionGroups(
  scannerHandle: string,
)
: Promise<GetOptionGroupsResponse>

openScanner tarafından daha önce açılmış bir tarayıcıdan grup adlarını ve üye seçeneklerini 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 herkese açık anahtarı.

İadeler

getScannerList()

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.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 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.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, önceki bir getScannerList çağrısından döndürülen değerdir.

İadeler

readScanData()

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.documentScan.readScanData(
  job: string,
)
: Promise<ReadScanDataResponse>

Etkin bir iş tanıtıcısından mevcut resim verilerinin bir sonraki parçasını okur ve ReadScanDataResponse nesnesiyle çözümlenen bir Promise döndürür. Geri çağırma kullanılıyorsa 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 hâlâ çalıştığı 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ıt, EOF sonuç değerini alır. Bu yanıt, sıfır olmayan son bir data üyesi içerebilir.

Parametreler

  • iş

    dize

    Daha önce startScan tarafından döndürülen etkin iş tanıtıcısı.

İadeler

scan()

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

Belge tarama işlemi gerçekleştirir 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 geri çağırmaya iletilir.

Parametreler

  • seçenekler

    Tarama parametrelerini içeren bir nesne.

İadeler

  • Promise<ScanResults>

    Chrome 96 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Tarama sonuçlarıyla çözümlenen bir Promise döndürür.

setOptions()

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
)
: Promise<SetOptionsResponse>

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

Parametreler

  • scannerHandle

    dize

    Seçeneklerin ayarlanacağı tarayıcının herkese açık adı. 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 nesnenin listesi.

İadeler

startScan()

Chrome 125 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
)
: Promise<StartScanResponse>

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

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 özelliğinde döndürülen girişlerden biriyle eşleşmelidir.

İadeler