Aplicativo Windows (WinForms / .NET Framework 4.8) que extrai as primeiras imagens de arquivos PDF, CBR, CBZ e CB7 para uso como miniaturas — pensado originalmente para os uploads do Datassette, mas funciona para qualquer caso de geração de thumbnails a partir de revistas, comics ou catálogos digitalizados.
- .NET Framework 4.8: https://dotnet.microsoft.com/download/dotnet-framework/net48
- Ghostscript 64-bit (necessário em tempo de execução para PDFs): https://www.ghostscript.com/releases/gsdnld.html
O
7z.dll(usado para CBR/CBZ/CB7) já é distribuído junto com o executável.
- Abrir
Extrai Imagens.slnno Visual Studio 2019 ou superior. - Restaurar os pacotes NuGet (Build → Restore NuGet Packages).
- Compilar em
Release | Any CPU(a saída éx64, pois oMagick.NET-Q8-x64é arquitetura-específico).
Pelo MSBuild via linha de comando:
msbuild "Extrai Imagens.sln" /t:Restore
msbuild "Extrai Imagens.sln" /t:Build /p:Configuration=ReleaseO binário fica em bin\Release\Extrai Imagens.exe.
- Processar subpastas — processa arquivos de todas as pastas abaixo da selecionada
- Formato de imagem final (JPG/PNG) — formato das imagens extraídas
- Resolução final — resolução em DPI (afeta apenas PDFs)
- Processar estes tipos de arquivos — quais extensões considerar
- Extrair a(s) … primeira(s) imagen(s) — quantidade de imagens por arquivo
- 1 imagem: arquivo de saída recebe o nome do arquivo de origem
- mais de 1: as imagens recebem o sufixo
-01,-02, …
- Arrastar e soltar — arrastar arquivos para a janela processa só esses arquivos (respeitando os tipos marcados na interface)
- Sobrescreve imagens já extraídas com o mesmo nome (não pergunta antes)
- Não recomeça de onde parou em caso de erro
- A interface não tem barra de progresso e a janela fica congelada durante o processamento de lotes grandes (o trabalho ainda é executado na thread de UI)
- correções de bugs:
btnConverteragora sempre é reabilitado após erro (try/finally)SevenZipExtractoré corretamente descartado (using)- arquivos compactados são extraídos para uma pasta temporária dedicada, em vez de poluir a pasta de origem
- numeração de páginas usa zero-padding consistente (
-01,-02, …) viaD2 - ordenação dos arquivos internos passa a usar natural sort (
page-2antes depage-10) - comparações de extensões/cultura usam
OrdinalIgnoreCaseem vez deToLower() - filtro de
__MACOSXagora trata o caminho como segmentos - drag-and-drop respeita os checkboxes de tipos de arquivo
- log usa formato de data ISO (
yyyy-MM-dd HH:mm:ss) independente da cultura - versão exibida na janela vem da
AssemblyVersionem vez de string fixa - falha ao processar um arquivo deixa de abortar o lote inteiro
- ignora o conteúdo da pasta
__MACOSXem arquivos CBx criados no MacOS
- correção da extração de páginas de alguns CBx, onde a indexação dos arquivos internos não correspondia à ordem alfabética desses arquivos
- permite extração das imagens em uma pasta separada
- salva as configurações
- processa arquivos individuais ao arrastar e soltar (drag and drop)
- corrigida a extração de imagens em diretórios internos de arquivos CBx
- verifica a extensão de um arquivo dentro do CBx antes de extrair
- versão inicial
GNU General Public License v2 — veja LICENSE.
