6
jfreesane ve Apache PDFBox kullanarak basit bir tarama uygulaması yazıyorum.BufferedImage renk doygunluğu
InetAddress address = InetAddress.getByName("192.168.0.17");
SaneSession session = SaneSession.withRemoteSane(address);
List<SaneDevice> devices = session.listDevices();
SaneDevice device = devices.get(0);
device.open();
device.getOption("resolution").setIntegerValue(300);
BufferedImage bimg = device.acquireImage();
File file = new File("test_scan.png");
ImageIO.write(bimg, "png", file);
device.close();
Ve yapma PDF:
PDF resmini görebileceğiniz gibi: Burada
PDDocument document = new PDDocument();
float width = bimg.getWidth();
float height = bimg.getHeight();
PDPage page = new PDPage(new PDRectangle(width, height));
document.addPage(page);
PDImageXObject pdimg = LosslessFactory.createFromImage(document, bimg);
PDPageContentStream stream = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true);
stream.drawImage(pdimg, 0, 0);
stream.close();
document.save(filename);
document.close();
Ve sonucudur İşte
tarama kodudur daha "solgun" mu (doygunluk?) - üzgünüm, renk teorisinde iyi değilim ve bilmiyorum doğru şekilde nasıl adlandırılır).ben öğrendim Ne:
PDFBox olan JLabel (yeni ImageIcon (bimg)) yapıcı PDF ile aynı sonucu üretir kullanarak JLabel için-
sebep değil.
- Tarama çözünürlüğünü değiştirme - etki yok.
http://s000.tinyupload.com/index.php?file_id=95648202713651192395
PDF dosyası
:
- bimg.getTransparency() 1 (OPAK)
- bimg.getType() döndürür 0 (TYPE_CUSTOM)
PNG dosyası döndürür http://s000.tinyupload.com/index.php?file_id=90369236997064329368
yüzden doğru olan ne için: JFreeSane sorunu colorspaces ile, bu sürümde 0.97 giderilmiştir? png veya pdf? – gpasch
@gpasch Png doğru. –
@TilmanHausherr Bağlantılı güncel soru. –