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
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
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.
- Yanıt nesnesi, bir dizi
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 birimageFormats
özelliği de içerir.
Tarayıcı yapılandırması
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.
(İ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.
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.Tarayıcı seçeneklerini ayarlamak için
OptionSetting
nesne dizisinisetOptions()
öğ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
Bir
StartScanOptions
nesnesi oluşturun vestartScan()
'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.İşe ait iş kimliğini
readScanData()
'a iletin.ReadScanDataResponse
nesnesi ile çözülen bir Promise döndürür. Veriler başarıyla okunmuşsaresult
mülküSUCCESS
'a eşit olur vedata
mülkü, taramanın bir kısmını içeren birArrayBuffer
içerir.estimatedCompletion
değerinin, şu ana kadar yayınlanan toplam verilerin tahmini yüzdesini içerdiğini unutmayın.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
Özellikler
-
iş
dize
cancelScan()
işlevine iletilen iş işleyicisini sağlar. -
sonuç
Arka uçtaki tarama iptal sonucu. Sonuç
OperationResult.SUCCESS
veyaOperationResult.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
Özellikler
-
sonuç
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
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
Tarayıcının bilgisayara nasıl bağlandığını belirtir.
Enum
"UNSPECIFIED"
"USB"
"NETWORK"
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
Ö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
Ö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. -
sonuç
Seçenek gruplarının alınmasının sonucu. Bu değerin
SUCCESS
olması durumundagroups
özelliği doldurulur. -
scannerHandle
dize
getOptionGroups
işlevine iletilenle aynı tarayıcı işleyicisi.
GetScannerListResponse
Özellikler
-
sonuç
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
Özellikler
-
seçenekler
nesne isteğe bağlı
result
SUCCESS
ise anahtarın cihaza özgü bir seçenek ve değerinScannerOption
örneği olduğu bir anahtar/değer eşlemesi sağlar. -
sonuç
Tarayıcının açılmasıyla ilgili sonuç. Bu özelliğin değeri
SUCCESS
isescannerHandle
veoptions
ö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
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
Ö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ı
-
tür
OptionGroup
Ö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
Ö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
Bir seçeneğin veri türü.
Enum
"UNKNOWN"
Seçeneğin veri türü bilinmiyor. value
mülkü ayarlanmayacak.
"BOOL"
value
mülkü true
false 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.
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
Ö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). -
iş
dize
readScanData()
'e iletilen iş kimliğini sağlar. -
sonuç
Veri okuma işleminin sonucu. Değeri
SUCCESS
isedata
, okumaya hazır olan sonraki (muhtemelen sıfır uzunlukta) görüntü verisi parçasını içerir. DeğeriEOF
isedata
, resim verilerinin son bölümünü içerir.
ScannerInfo
Ö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
Ö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
Özellikler
-
ad
dize
Ayarlanan seçeneğin adını gösterir.
-
sonuç
Seçeneğin ayarlanmasının sonucunu gösterir.
SetOptionsResponse
Ö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çindekioptions
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
Ö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
Özellikler
-
iş
dize isteğe bağlı
result
SUCCESS
ise tarama verilerini okumak veya işi iptal etmek için kullanılabilecek bir tutamaç sağlar. -
sonuç
Taramanın başlatılmasının sonucu. Bu değerin
SUCCESS
olması durumundajob
özelliği doldurulur. -
scannerHandle
dize
startScan()
işlevine iletilen aynı tarayıcı işleyicisini sağlar.
Yöntemler
cancelScan()
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
-
iş
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
-
gönderin
-
İadeler
-
Promise<CancelScanResponse>
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()
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
-
gönderin
-
İadeler
-
Promise<CloseScannerResponse>
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()
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
-
gönderin
-
İadeler
-
Promise<GetOptionGroupsResponse>
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()
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
-
filtrele
Hangi tarama cihazı türlerinin döndürülmesi gerektiğini belirten bir
DeviceFilter
. -
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(response: GetScannerListResponse) => void
-
gönderin
-
İadeler
-
Promise<GetScannerListResponse>
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()
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
-
gönderin
-
İadeler
-
Promise<OpenScannerResponse>
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()
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
-
iş
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
-
gönderin
-
İadeler
-
Promise<ReadScanDataResponse>
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()
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
-
sonuç
-
İadeler
-
Promise<ScanResults>
Chrome 96 ve üzeri sürümlerSö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()
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
-
gönderin
-
İadeler
-
Promise<SetOptionsResponse>
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()
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ınScannerInfo
ö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
-
gönderin
-
İadeler
-
Promise<StartScanResponse>
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.