DIFICULDADE PARA SCANEAR VÁRIAS PÁGINAS

ALVAROVB2009 22/05/2023 11:29:59
#501420
Alterado em 23/05/2023 08:37:31 Pessoal tenho um projeto onde consigo pegar o que esta no scanner , gerar um pdf e depois uma miniatura fácil fácil e uso o esquema da WIA
O meu problema esta sendo em pegar o que esta no scanner quando tem várias páginas, não achei nenhuma documentação legal que mostre essa função, vi muitos com esse mesmo problema, más nenhuma solução.

Alguém já teve que fazer ou faz isso, poderia me dar um exemplo para eu poder entender direitinho e fazer rodar em meu projeto


agradeço a todos desde já
ALVAROVB2009 29/05/2023 09:25:33
#501443
Alguém pode dar uma ajuda nesse problema, estou de cabelo mais branco ainda e não achei algo que possa usar
WEBMASTER 29/05/2023 09:31:20
#501445
Talvez com um pedaço do teu codigo e com a informacao de que bibliotecas/apis voce usa talvez de para ajudar um pouco...
ALVAROVB2009 29/05/2023 19:12:49
#501451
Alterado em 03/06/2023 14:18:36 Obrigado pelo retorno webmaster

Segue código que esta em meu botão
Consigo pegar o que esta no scanner, gero um png e mando ele para o formulário de registro, onde o usuário dará o destino correto
Quando tem mais de uma página para scanear, não estou conseguindo fazer isso, pois o scanner tem a função de multiplas páginas

try
{
var dialog = new WIA.CommonDialogClass();
WIA.Device scanner = dialog.ShowSelectDevice(WIA.WiaDeviceType.ScannerDeviceType, false, false);
var scannedImage = dialog.ShowTransfer(scanner.Items[1], WIA.FormatID.wiaFormatPNG) as WIA.ImageFile;

if (scannedImage != null)
{
if (System.IO.File.Exists(pastatemp + "//Scanner.png"))
System.IO.File.Delete(pastatemp + "//Scanner.png");
scannedImage.SaveFile(pastatemp + "//Scanner.png");
}

Program.DocumentosGravados = new List<RegistrarDocumento>();
Program.DocumentosSelecionados = new string[1];
for (int i = 0; i < 1; i++)
{
Program.DocumentosSelecionados[i] = "Scanner.png";
Program.DocumentosSelecionados[i] += "ƒ" + pastatemp + "\\Scanner.PNG"; // Directory.GetCurrentDirectory() + "//Scanner.PNG"; // caminho completo
Program.DocumentosSelecionados[i] += "ƒ" + ".PNG"; // tipo Arquivo
}

new FrmRegistrarArquivo().ShowDialog();
}
}
catch
{
MessageBox.Show("Erro na digitalização do documento.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
ALVAROVB2009 02/06/2023 21:25:44
#501471
Pessoal alguém pode me dar uma força nesse problemão, para mim mero iniciante em C#, que tenho
WEBMASTER 03/06/2023 14:23:25
#501472
Alterado em 03/06/2023 14:23:46 Olha...posso estar sendo ingênuo pra @!#$@# mas a resposta já não está ai mesmo ?
dialog.ShowTransfer(scanner.Items[1]...


Consulta a pagina da M$ tem uma documentação, e pelo que eles deixam transparecer, items é uma lista de conteúdo fornecido pelo device...


O que tem aqui não te ajuda ?
https://learn.microsoft.com/en-us/windows/win32/wia/-wia-wia-scanner-devices

Faça uns testes com scanner.items para ver se ele por sí só já não volta a coleção inteira de páginas/itens escaneados.

ALVAROVB2009 16/06/2023 20:42:38
#501527
Webmaster, darei uma olhada no que vc me passou
Esse link não esta funcionando mais, e depois precisar ver também um problema

Não estou recendo aviso quando alguém responde meu tópico, tanto que entrei hj aqui para upar o tópico , achando que ninguém tinha respondido

Más a dll que é usada para pegar o que esta no scanner, é a dll que vem desde o windows xp.

No caso dos device, ele abre a lista para selecionar o scanner , o scanner.items[1] , é o que esta na lista


Ainda não consegui fazer nada , que faça aguardar a segunda página do scanner , mesmo estando ativa a opção no scanner, assim que é feita a leitura do papel no vidro, ja finaliza o arquivo
Faça seu login para responder