chrome.documentScan

Açıklama

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

Document Scan API'nin amacı, uygulamaların ve uzantıların, ekli bir belge tarayıcıda basılı dokümanların içeriğini görüntülemesine olanak tanımaktır.

İzinler

documentScan

Kullanılabilirlik

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

Kavramlar ve kullanım

Bu API, iki doküman tarama yöntemini 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

Basit kullanım alanları, yani tüm tarayıcılarla çalışabilen ve yapılandırma kontrolü gerektirmemesi için scan() numaralı telefonu arayın. Bu yöntem bir ScanOptions nesnesini 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. Taramalar, kullanıcı arayüzü için <img> etiketinde gösterilmek üzere 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 özet, 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 size genel bir kılavuz vermek için tasarlanmıştır.

Discovery

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

    • Yanıt nesnesi, ScannerInfo nesne dizisi içerir.
    • Bir 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 özelliğinin değerini kaydedin.

    Aynı tarayıcı için birden fazla nesne arasında ayrım yapmak üzere 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ürleri dizisi içeren bir imageFormats özelliği de içerir.

Tarayıcı yapılandırması

  1. Kayıtlı tarayıcı kimliğini kullanarak openScanner() numaralı telefonu arayın. OpenScannerResponse ile çözümlenen bir Promise döndürür. Yanıt nesnesi şunları içerir:

    • Kaydetmeniz gereken scannerHandle özelliği.

    • Ayarlamanız gereken tarayıcıya özel özellikleri içeren bir seçenekler özelliği. Daha fazla bilgi için Tarayıcı seçeneklerini alma konusuna 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ı almanız gerekir. Daha fazla bilgi için Kullanıcı arayüzü oluşturma sayfasına göz atın.

  3. Programatik veya kullanıcı tarafından sağlanan değerleri kullanarak OptionSetting nesneleri dizisi oluşturun. Daha fazla bilgi edinmek için Tarayıcı seçeneklerini ayarlama konusuna bakın.

  4. Tarayıcının seçeneklerini ayarlamak için OptionSetting nesne dizisini setOptions() öğesine geçirin. 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 diğer seçenekteki kısıtlamaları değiştirebileceğinden, bu adımları birkaç kez tekrarlamanız gerekebilir.

Taranıyor

  1. Bir StartScanOptions nesnesi oluşturun ve startScan()'e 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 herkese açık kullanıcı adıdır.

  2. İş tanıtıcısını readScanData() adlı kullanıcıya iletin. 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 mülkü, taramanın bir kısmıyla birlikte bir ArrayBuffer içerir. estimatedCompletion değerinin, şimdiye kadar yayınlanan toplam verilerin tahmini yüzdesini içerdiğini unutmayın.

  3. result özelliği 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ı tutamacıyla closeScanner() çağrısı yapın. CloseScannerResponse ile çözümlenen bir Promise döndürür. İş oluşturulduktan sonra herhangi bir zamanda cancelScan() çağrısı yapıldığında tarama sonlandırılır.

Yanıt nesneleri

Tüm yöntemler, bir tür yanıt nesnesiyle çözümlenen 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çıklanmıştır.

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

Tarayıcı seçenekleri

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

Yapı genellikle şöyle görünür:

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

Örneğin, "kaynak" ve "çözünürlük" adlı seçenekleri 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 olması açısından yalnızca kısmi ScannerOption yanıtları gösterilmiştir.

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

Kullanıcı arayüzü oluşturma

Bu API'yi kullanmak zorunlu olmasa da, kullanıcının belirli bir seçeneğin değerini seçmesini isteyebilirsiniz. Bunun için kullanıcı arayüzü gerekir. Bir önceki bölümde açıklandığı gibi ekli tarayıcıyla ilgili seçenekleri almak için OpenScannerResponse aracını (openScanner() tarafından açılır) kullanın.

Bazı tarayıcılar, seçenekleri cihaza özel şekillerde gruplandırır. Seçenek davranışlarını etkilemezler ancak bu gruplar bir tarayıcının ürün belgelerinde belirtilebileceği için kullanıcıya bu tür gruplar gösterilmelidir. Bu grupları, getOptionGroups() numaralı telefonu arayarak öğrenebilirsiniz. Bu, GetOptionGroupsResponse nesnesiyle çözümlenen bir Promise döndürür. groups özelliği, tarayıcıya özel bir grup dizisi içerir. Görüntülenecek OpenScannerResponse seçeneklerini 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 diğer 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. Daha sonra, tüm seçenekler ayarlanana kadar bu işlemi gerektiği kadar tekrarlayın.

Tarayıcı seçeneklerini ayarlama

Tarayıcı seçeneklerini, setOptions() alanına bir OptionSetting nesne dizisi ileterek ayarlayın. Örnek için aşağıdaki Bir harf boyutunda sayfayı tarama bölümüne bakın.

Örnekler

Sayfayı blob olarak al

Bu örnekte, bir sayfanın tarayıcıdan blob olarak alınması için bir yol gösterilmektedir. Ayrıca, OperationResult değerini kullanarak startScan() ve readScanData() kullanımını 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" });
}

Harf boyutunda sayfayı tara

Bu örnekte, bir tarayıcının nasıl seçileceği, seçeneklerini ayarlama ve açma işlemi gösterilmektedir. Daha sonra, tek bir sayfanın içeriğini alır ve tarayıcıyı kapatır. Bu süreçte getScannerList(), openScanner(), setOptions() ve closeScanner() öğelerinin kullanımı gösterilmektedir. Sayfa içeriğinin, önceki örnekte bulunan 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öster

Başka bir yerde belirtildiği gibi, bir tarayıcının yapılandırma seçeneklerinin kullanıcıya gösterilmesi, openScanner() çağrısından döndürülen tarayıcı seçeneklerine ek olarak getOptionGroups() çağrısını gerektirir. Böylece seçenekler, üreticiler tarafından tanımlanan gruplardaki kullanıcılara gösterilebilir. 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

Beklemede

Özellikler

  • dize

    cancelScan() işlevine geçirilen tanıtıcıyı sağlar.

  • Arka ucun tarama iptali 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ı hâlâ istenen iptal işlemini işliyor demektir. Arayanın kısa bir süre bekleyip isteği yeniden denemesi gerekir. Diğer sonuç değerleri, yeniden denenmemesi gereken kalıcı bir hata olduğunu gösterir.

CloseScannerResponse

Beklemede

Ö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 daha fazla işlem için kullanılmamalıdır.

  • scannerHandle

    dize

    closeScanner ürününe geçirilen tarayıcı tutamacı.

Configurability

Beklemede

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

Enum

"NOT_CONFIGURABLE"
Bu seçenek salt okunurdur.

"SOFTWARE_CONFIGURABLE"
Bu seçenek yazılımda ayarlanabilir.

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

ConnectionType

Beklemede

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

Enum

"USB"

ConstraintType

Beklemede

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

Enum

"INT_RANGE"
OptionType.INT değer aralığındaki kısıtlama. OptionConstraint öğesinin min, max ve quant özellikleri long olacak ve list mülkü kaldırılacak.

"FIXED_RANGE"
OptionType.FIXED değer aralığındaki sınırlama. OptionConstraint için min, max ve quant özellikleri double olacak ve list özelliği ayarlanacak.

"INT_LIST"
Belirli bir OptionType.INT değer listesindeki kısıtlama. OptionConstraint.list özelliği long değer içerecek, diğer özellikler ise ayarlanacak.

"FIXED_LIST"
Belirli bir OptionType.FIXED değer listesindeki kısıtlama. OptionConstraint.list özelliği double değer içerecek, diğer özellikler ise ayarlanacak.

"STRING_LIST"
Belirli bir OptionType.STRING değer listesindeki kısıtlama. OptionConstraint.list özelliği DOMString değer içerecek, diğer özellikler ise ayarlanacak.

DeviceFilter

Beklemede

Ö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ı iade edin.

GetOptionGroupsResponse

Beklemede

Özellikler

  • grup

    OptionGroup[] isteğe bağlı

    result değeri 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ı almanın sonucu. Bunun değeri SUCCESS ise groups özelliği doldurulur.

  • scannerHandle

    dize

    getOptionGroups ürününe geçirilen tarayıcı tutamacı.

GetScannerListResponse

Beklemede

Özellikler

  • Sıralama sonucu. Bu durum bir hata olduğunu belirtse bile kısmi sonuçların döndürülebileceğini unutmayın.

  • Tarayıcılar

    Sağlanan DeviceFilter ile eşleşen tarayıcıların büyük olasılıkla boş listesi.

OpenScannerResponse

Beklemede

Özellikler

  • seçenekler

    isteğe bağlı

    result değeri 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ı. Bunun değeri SUCCESS ise scannerHandle ve options özellikleri doldurulur.

  • scannerHandle

    string isteğe bağlı

    result değeri SUCCESS ise tarayıcı için daha fazla işlemde kullanılabilecek tutma yeri.

  • scannerId

    dize

    Tarayıcı kimliği openScanner() cihazına iletildi.

OperationResult

Beklemede

Her işlemin sonucunu gösteren bir numaralandırma.

Enum

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

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

"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ü.

"EOF"
Başka veri yok.

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

"ADF_EMPTY"
Doküman besleyici boş.

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

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

"ACCESS_DENIED"
Cihaz kimlik doğrulaması gerektiriyor.

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

"UNREACHABLE"
Cihaza erişilemiyor.

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

"INTERNAL_ERROR"
Çağrı yapan uygulamanın dışında bir yerde hata oluştu.

OptionConstraint

Beklemede

Özellikler

  • list

    string[]|number[] optional

  • maks.

    numara isteğe bağlı

  • dk

    numara isteğe bağlı

  • nicelik

    numara isteğe bağlı

OptionGroup

Beklemede

Özellikler

  • üyeler

    dize[]

    Sürücü tarafından sağlanan sıraya göre seçenek adları dizisi.

  • title

    dize

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

OptionSetting

Beklemede

Ö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[] optional

    Ayarlanacak değeri gösterir. autoSettable öğesinin etkin olduğu seçenekler için otomatik ayar istemek üzere ayarlamadan bırakın. value için sağlanan veri türü type ile eşleşmelidir.

OptionType

Beklemede

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

Enum

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

"BOOL"
value özelliği truefalse olacaktır.

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

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

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

"BUTTON"
Bu tür bir seçeneğin değeri yok. 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üğmeyle yazılmış bir seçenek tarayıcı sürücüsü tarafından varsayılan değerleri seçmeye veya otomatik bir belge besleyiciye sonraki sayfaya ilerlemesini söyleyen bir yöntem sağlamak için kullanılabilir.

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

OptionUnit

Beklemede

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

Enum

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

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

"BİT"
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 cinsinden ölçülür (ör. çözünürlük).

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

"MICROSECOND"
Değer, mikrosaniye cinsinden ölçülür (ör. karşılaşma süresi).

ReadScanDataResponse

Beklemede

Özellikler

  • veri

    ArrayBuffer isteğe bağlı

    result değeri SUCCESS ise taranan resim verilerinin sonraki grubunu içerir. result değeri EOF ise taranan görüntü verilerinin son yığınını içerir.

  • estimatedCompletion

    numara isteğe bağlı

    result değeri SUCCESS ise toplam tarama verilerinin ne kadarının şu ana kadar yayınlandığına dair bir tahmindir (0-100 aralığında).

  • dize

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

  • Verileri okuma işleminin sonucu. Değeri SUCCESS ise data, okunmaya hazır 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

Beklemede

Ö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 yapmak 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örüntüleyebileceği, kullanıcılar tarafından okunabilir bir ad.

  • protocolType

    dize

    Tarayıcıya erişmek için kullanılan protokolün veya sürücünün (Mopria, WSD veya epsonds gibi) okunabilir açıklaması. Bu işlev esasen, bir cihaz birden fazla protokolü destekliyorsa kullanıcının protokoller arasında seçim yapabilmesi açısından yararlıdır.

  • scannerId

    dize

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

  • güvenli

    boolean

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

ScannerOption

Beklemede

Ö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ı

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

  • açıklama

    dize

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

  • isActive

    boolean

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

  • isAdvanced

    boolean

    Kullanıcı arayüzünün varsayılan olarak bu seçeneği görüntülememesi 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 belirtir.

  • isEmulated

    boolean

    Doğruysa tarayıcı sürücüsü tarafından emülasyon yapılır.

  • ad

    dize

    Küçük ASCII harfleri, sayıları ve tireleri kullanılan seçenek adı. Aksan işaretlerine izin verilmez.

  • title

    dize

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

  • tür

    value özelliğinde bulunan ve bu seçeneğin ayarlanması için gerekli olan veri türü.

  • birim

    Bu seçenek için ölçü birimidir.

  • value

    string|number|boolean|number[] optional

    Geçerliyse seçeneğin mevcut değeri. Bu mülkün veri türünün, type politikasında belirtilen veri türüyle eşleşmesi gerektiğini unutmayın.

ScanOptions

Özellikler

  • maxImages

    numara isteğe bağlı

    İzin verilen taranan 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 geçirilebilecek bir formdaki veri görüntüsü URL'leri dizisi.

  • mimeType

    dize

    dataUrls öğesinin MIME türü.

SetOptionResult

Beklemede

Özellikler

  • ad

    dize

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

  • Seçenek ayarlamanın sonucunu belirtir.

SetOptionsResponse

Beklemede

Özellikler

  • seçenekler

    isteğe bağlı

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

    Bazı seçenekler başarıyla ayarlanmasa bile bu özellik ayarlanır, ancak güncellenen yapılandırmanın alınamaması durumunda (örneğin, taramanın ortasında tarayıcının bağlantısı kesilirse) ayarlanmaz.

  • sonuç

    Her OptionSetting için iletilen bir sonuç dizisi.

  • scannerHandle

    dize

    setOptions() öğesine iletilen tarayıcı tanıtıcısını sağlar.

StartScanOptions

Beklemede

Özellikler

  • biçim

    dize

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

  • maxReadSize

    numara isteğe bağlı

    Sıfır dışında bir değer belirtilirse bu değere tek bir readScanData yanıtında döndürülen maksimum taranan bayt sayısını 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 görüntünün tamamı kadar büyük olabilir.

StartScanResponse

Beklemede

Özellikler

  • string isteğe bağlı

    result değeri SUCCESS ise tarama verilerini okumak veya işi iptal etmek için kullanılabilecek bir herkese açık kullanıcı adı sağlar.

  • Taramanın başlatılmasının sonucu. Bunun değeri SUCCESS ise job özelliği doldurulur.

  • scannerHandle

    dize

    startScan() öğesine geçirilen tarayıcı tanıtıcısını sağlar.

Yöntemler

cancelScan()

Promise Beklemede
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)

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

Parametreler

  • dize

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

  • geri çağırma

    Functions (isteğe bağlı)

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

    (response: CancelScanResponse)=>void

İlerlemeler

  • Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

closeScanner()

Promise Beklemede
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)

Tarayıcıyı, iletilen işleyiciyle kapatır ve CloseScannerResponse nesnesiyle çözümlenen bir Promise döndürür. Bir geri çağırma kullanılırsa, bunun yerine nesne buna iletilir. Yanıt başarılı olmasa bile, sağlanan herkese açık kullanıcı adı geçersiz hale gelir ve bundan sonraki işlemlerde kullanılmamalıdır.

Parametreler

  • scannerHandle

    dize

    Daha önce openScanner öğesine yapılan bir çağrıdan döndürülen açık bir tarayıcının kullanıcı adını belirtir.

  • geri çağırma

    Functions (isteğe bağlı)

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

    (response: CloseScannerResponse)=>void

İlerlemeler

  • Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

getOptionGroups()

Promise Beklemede
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 nesnesiyle çözümlenen bir Promise döndürür. Bu işleve bir geri çağırma aktarılırsa döndürülen veriler bu işleve iletilir.

Parametreler

İlerlemeler

  • Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

getScannerList()

Promise Beklemede
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)

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 aktarılırsa döndürülen veriler bu işleve iletilir.

Parametreler

İlerlemeler

  • Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

openScanner()

Promise Beklemede
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)

Ö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 aktarılırsa döndürülen veriler bu işleve 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 bir değerdir.

  • geri çağırma

    Functions (isteğe bağlı)

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

    (response: OpenScannerResponse)=>void

İlerlemeler

  • Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

readScanData()

Promise Beklemede
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)

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

**Not:**Yanıt sonucunun sıfır uzunlukta data üyesi olan SUCCESS olması için geçerlidir. Bu, tarayıcının çalışmaya devam ettiği ancak ek verilerinin henüz 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 sonucunu verir. Bu yanıtta, değeri sıfır olmayan son bir data üye bulunabilir.

Parametreler

İlerlemeler

  • Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

scan()

Söz
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)

Belge taraması yürütür ve ScanResults nesnesiyle çözümlenen bir Promise döndürür. Bu işleve bir geri çağırma aktarılırsa döndürülen veriler bu işleve geçirilir.

Parametreler

  • seçenekler

    Tarama parametrelerini içeren bir nesne.

  • geri çağırma

    Functions (isteğe bağlı)

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

    (result: ScanResults)=>void

İlerlemeler

  • Promise<ScanResults>

    Chrome 96 ve sonraki sürümler

    Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

setOptions()

Promise Beklemede
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 nesnesiyle çözümlenen Promise döndürür. Bir geri çağırma kullanılırsa, bunun yerine nesne buna iletilir.

Parametreler

  • scannerHandle

    dize

    Seçeneklerin ayarlanacağı tarayıcının tutma yeri. Bu, daha önce openScanner için yapılan bir çağrıdan döndürülen değer olmalıdır.

  • seçenekler

    Tarayıcıya uygulanacak OptionSetting nesnelerin listesi.

  • geri çağırma

    Functions (isteğe bağlı)

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

    (response: SetOptionsResponse)=>void

İlerlemeler

  • Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.

startScan()

Promise Beklemede
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. Bir geri çağırma kullanılırsa, bunun yerine nesne buna iletilir. Çağrı başarılı olduysa yanıt, tarama verilerini okumak veya bir taramayı iptal etmek için sonraki çağrılarda kullanılabilecek bir iş işleyici içerir.

Parametreler

  • scannerHandle

    dize

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

  • geri çağırma

    Functions (isteğe bağlı)

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

    (response: StartScanResponse)=>void

İlerlemeler

  • Vaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.