ElectronJS

ElectronJS Bilgisayara Bağlı Tüm Yazıcıları Listeleme

Herkese merhaba, ElectronJS yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda bilgisayara bağlı tüm yazıcıların listesini almayı anlatacağım. Hadi başlayalım !

ElectronJS, masaüstü uygulamaları geliştirmek için kullanılan bir JavaScript framework’üdür. Bu framework ile yazdığınız uygulamalarda bilgisayarınıza bağlı yazıcıların listesini almak oldukça kolaydır. Bu makalede, ElectronJS ile bilgisayara bağlı tüm yazıcıların listesini alma konusunda size yardımcı olacak adımları ve kod örneklerini sunacağız.

ElectronJS Kurulumu

Öncelikle, ElectronJS kullanarak bir uygulama geliştirebilmek için, NodeJS ve NPM’in bilgisayarınızda yüklü olması gerekmektedir. Daha sonra aşağıdaki komutu kullanarak ElectronJS kurulumunu gerçekleştirebilirsiniz:

npm i electron

ElectronJS Projesi Oluşturma

Şimdi, yazıcıların listesini almak için bir ElectronJS uygulaması oluşturabilirsiniz. Bunun için aşağıdaki komutu kullanabilirsiniz:

electron-forge create printer-list

Bu komut, “printer-list” adında bir ElectronJS uygulaması oluşturacaktır.

ipcMain İle Gelen İstekleri Karşılama

Uygulama oluşturma işlemini tamamladıktan sonra, bilgisayara bağlı tüm yazıcıların listesini alma kodunu yazabilirsiniz. Bunun için aşağıdaki kodu main.js dosyasına ekleyebilirsiniz:

const { ipcMain, BrowserWindow } = require('electron');
const printer = require('printer');

ipcMain.on('getPrinters', (event, arg) => {
   const printers = printer.getPrinters();
   event.returnValue = printers;
});

Yukarıdaki kodda, “getPrinters” adında bir olay dinleyicisi oluşturuyoruz. Bu olay tetiklendiğinde, “printer” modülünü kullanarak bilgisayarınıza bağlı tüm yazıcıların listesini alıyoruz. Daha sonra, “returnValue” özelliğine yazıcıların listesini atıyoruz.

Ana Sürecin Başlatılması

Ana süreçte, pencere oluşturarak ve ana süreci başlatarak uygulamayı çalıştırabilirsiniz. Bunun için aşağıdaki kodu main.js dosyasına ekleyebilirsiniz:

const { app, BrowserWindow } = require('electron');

function createWindow () {
   const win = new BrowserWindow({
      width: 800,
      height: 600,
      webPreferences: {
         nodeIntegration: true
      }
   });

   win.loadFile('index.html');
}

app.whenReady().then(() => {
   createWindow();

   app.on('activate', () => {
      if (BrowserWindow.getAllWindows().length === 0) {
         createWindow();
      }
   });
});

app.on('window-all-closed', () => {
   if (process.platform !== 'darwin') {
      app.quit();
   }
});

Yukarıdaki kodda, “createWindow” adında bir fonksiyon oluşturuyoruz. Bu fonksiyon, bir pencere oluşturarak, pencere boyutunu ve web içeriğini ayarlayacak. Daha sonra, “app.whenReady” metodu ile uygulama başlatılıyor. Bu metot, uygulama hazır olduğunda bir pencere oluşturuyor. Ayrıca, “app.on(‘activate’)” metodu ile pencere olmadığında yeniden oluşturulmasını sağlıyoruz.

Renderer Sürecinde İşlem Yapmak

Son adımda, render sürecinde işlem yaparak, yazıcıların listesini ekrana yazdırabilirsiniz. Bunun için aşağıdaki kodu index.js dosyasına ekleyebilirsiniz:

const { ipcRenderer } = require('electron');

const printersList = document.getElementById('printersList');
const printers = ipcRenderer.sendSync('getPrinters');

printers.forEach(printer => {
   const printerElement = document.createElement('li');
   printerElement.innerText = printer.name;
   printersList.appendChild(printerElement);
});

Yukarıdaki kodda, “ipcRenderer” modülünü kullanarak ana süreçteki “getPrinters” olayına erişiyoruz. Daha sonra, “printersList” adlı bir DOM öğesi oluşturuyoruz. “sendSync” metodunu kullanarak yazıcıların listesini alıyoruz ve her bir yazıcının adını “forEach” döngüsü ile ekrana yazdırıyoruz.

Sonuç

Yukarıdaki adımları takip ederek, ElectronJS kullanarak bilgisayara bağlı tüm yazıcıların listesini alma işlemini gerçekleştirebilirsiniz. Bu örnekte, ana süreçte “printer” modülünü kullanarak yazıcıların listesini aldık ve render sürecinde yazıcıların adını ekrana yazdırdık. Bu örneği değiştirerek, yazıcılara erişerek belge yazdırma ve daha birçok özelliği uygulamanız mümkündür.

Evet ElectronJS ile bilgisayara bağlı tüm yazıcıları bu şekilde alabilmekteyiz. Tüm ElectronJS yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu