Php-yazıcı-delphi???

Web tabanlı uygulama geliştirme araçları(PHP, ASP vb...) ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Php-yazıcı-delphi???

Mesaj gönderen naile »

Nereye yazacağımı biraz şaşırdım aslında..

Sorunu yaşayan bir arkadaşım, biraz yorumlarınıza ihtiyacım var.
php kullanıyorlar, formu yazıcıdan çıkarmak için yazıcı ayarlarını phpde yapamıyorlarmı, windowsta oluyormuş ama serverları linux olduğundan yapamamış bi türlü çünkü olmuyomuş. Acaba dedi yazıcı olayını delphi ile mi halletsem ama bu internetten çalışan birşey ve her yerde kullanılacak. Yani mesela adam x ilçesinde bu sayfaya girdiğinde formu yazıcıya göre istediği şekilde ayarlayıp yazdırabilecek. Böyle bir istek için önerileriniz ne olur?

Umarım isteği tam olarak anlayıp anlatabilmişimdir. :roll:

Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Merhaba Naile hn.

Bahsettiğiniz olay web üzerinden olduğundan php tarafta böyle bir ayar yapma imkanı nasıl olur tam bilemiyorum:( Sonuçta php nin oluşturduğu html yi sistemde tanımlı yazıcıdan bastırabilmek lazım. Server in ne olduğu önemli değil ulaşılan ortam ne ise ve sisteme tanımlı bir yazıcı varsa sorun yok. Ama eğer siz raporu istediğim gibi düzenliyeyim diyorsanın yine php ile bir form sayfasında raporda çıkmasını istediğiniz alanları işaretleyip o şekilde de yazdırabilirsiniz. php den direkt yazdırma olabileceği gibi browser dan html i de yazdırabilirsiniz.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!

mcihad
Üye
Mesajlar: 283
Kayıt: 18 Tem 2003 03:28
Konum: Sivas

PHP

Mesaj gönderen mcihad »

PHP de yazıcı fonksiyonları yok zannedersem
ama javascript:print() fonksiyonu zaten yazıcı ayarlar dialog penceresini getriyor
Bize iyilik yaraşır.
Resim

gince
Üye
Mesajlar: 46
Kayıt: 20 Nis 2004 04:09

yazıcı ayarları

Mesaj gönderen gince »

merhaba nailenin bahsettiği arkadaş benim. Ben sorunumu biraz daha açacak olursam ben php'de bir form hazırladım bu form veritabanı ile bağlantılı ve veritabanından istenilen bilgileri aldıktan sonra A5 kağıdı boyutunda bir form oluyor. Fakat bu formun çıktısının A5 kağıdına olması gerekiyor. Bu yüzden bu formun çıktısını alacak kişi gidip browserın yazdır alanından A5 işaretlemesi gerekiyor birde herkesin bilgisayarındaki yazıcılar farklı ve sayfa yapıları da farklı olduğu için A5 seçilme bile bazen çıktı düzgün olmayabiliyor. Benim istediğim bu ayarları kullanıcılardan bağımsız program kodlarıyla yapmak. Yani kağıt boyutunu,sayfa yapısını program kodlarıyla ayarlayayım ve yazdır diye bir buton koyup, kullanıcı bu butona bastığı zaman çıktı yı alsın yani yazıcı ayarlarıyla uğraşmasın. Bunu php'de çok araştırdım fakat bunu sadece sunucu tabanlı yapılabileceğini öğrendim o yüzden bunu delphinin internet komponentlerini kullanarak yapıp yapamayacağım araştırıyorum. Bu konuda bana yardımcı olursanız çok sevinirim. (Bu programın mutlaka internet üzerinde çalışması gerekiyor veritabanıyla bağlantılı olup yazıcı ayarlarınında program koduyla yapılması gerekiyor)

Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

aşağıdaki linkde cevabı bulunabilir.

http://tr.php.net/manual/tr/function.printer-open.php

diğer ilgili linkler

http://www.php.net
http://www.php.org.tr
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!

gince
Üye
Mesajlar: 46
Kayıt: 20 Nis 2004 04:09

Mesaj gönderen gince »

Bu sayfayı çok inceledim ama bu kodlar sadece sunucu bilgisayarına bağlı yazıcı için geçerli oysa benim istediğim herkes kendi bilgisayarından internetten benim yaptığım sayfaya gitsin ordan kendi yazıcısından yada ağdaki bir yazıcı da olabilri çıktı alsın.

rsimsek yazdı:aşağıdaki linkde cevabı bulunabilir.

http://tr.php.net/manual/tr/function.printer-open.php

diğer ilgili linkler

http://www.php.net
http://www.php.org.tr

onaydin

Mesaj gönderen onaydin »

eğer browser'a header dan bu tarz bilgiler gönderebiliyor olsaydık
haliyle php ile yapılırdı ama sanırım mümkün değil.

activeX ile şöyle bişey denemişler

Kod: Tümünü seç

<script language=javascript>
   var x;
     
   function SetPrintProperties()
      {
      x = new ActiveXObject("WScript.Shell")
      x.SendKeys("+(%fu)");
      window.setTimeout("javascript:SetPaperSize();", 200)
      }
      function SetPaperSize()
      {
      x.SendKeys("aa");
      x.SendKeys("~");
      x.SendKeys("+(%f)p");
      }
</script>
burda
x.SendKeys("aa");
değeri default olanı
onu
x.SendKeys("a5");
yaptım tuttu :)
yazdır penceresi geliyor orada benimkinde a5 çıktı ve a5 formunda yazdırdı
(a5 a4 ten ebat olarak küçükmüş, öğrendim böylece)

Kod: Tümünü seç

window.setTimeout("javascript:SetPaperSize();", 200)
burdaki 200 değeri aslında o anda page setup penceresini açıyor o pencerenin ne kadar açık kalacağını gösteriyor siz onu
düşürdükçe o kadar erken kapanıyor


tek sorun activeX uygulaması çalıştırmak istiyor musunuz diye bir pencere çıkartıyor

http://codingforums.com/showthread.php?t=36037

umarım hallolmuştur

gince
Üye
Mesajlar: 46
Kayıt: 20 Nis 2004 04:09

yazıcı ayarları

Mesaj gönderen gince »

kodu nereye yerleştirmem gerekiyor ben head'lerin arasına yerleştirdim ama bunu nerde ve nasıl çağıracağımı bilemedim.


onaydin yazdı:eğer browser'a header dan bu tarz bilgiler gönderebiliyor olsaydık
haliyle php ile yapılırdı ama sanırım mümkün değil.

activeX ile şöyle bişey denemişler

Kod: Tümünü seç

<script language=javascript>
   var x;
     
   function SetPrintProperties()
      {
      x = new ActiveXObject("WScript.Shell")
      x.SendKeys("+(%fu)");
      window.setTimeout("javascript:SetPaperSize();", 200)
      }
      function SetPaperSize()
      {
      x.SendKeys("aa");
      x.SendKeys("~");
      x.SendKeys("+(%f)p");
      }
</script>
burda
x.SendKeys("aa");
değeri default olanı
onu
x.SendKeys("a5");
yaptım tuttu :)
yazdır penceresi geliyor orada benimkinde a5 çıktı ve a5 formunda yazdırdı
(a5 a4 ten ebat olarak küçükmüş, öğrendim böylece)

Kod: Tümünü seç

window.setTimeout("javascript:SetPaperSize();", 200)
burdaki 200 değeri aslında o anda page setup penceresini açıyor o pencerenin ne kadar açık kalacağını gösteriyor siz onu
düşürdükçe o kadar erken kapanıyor


tek sorun activeX uygulaması çalıştırmak istiyor musunuz diye bir pencere çıkartıyor

http://codingforums.com/showthread.php?t=36037

umarım hallolmuştur

onaydin

Mesaj gönderen onaydin »

aslında kodun nerde duracağı pek önemli değil
body içindende okuma yapabiliyor

Kod: Tümünü seç

<html>
<head>
<title>A5 .. yazdırma</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<script language=javascript>
   var x;
     
   function SetPrintProperties()
      {
      x = new ActiveXObject("WScript.Shell")
      x.SendKeys("+(%fu)");
      window.setTimeout("javascript:SetPaperSize();",200)
      }
      function SetPaperSize()
      {
      x.SendKeys("a5");
      x.SendKeys("~");
      x.SendKeys("+(%f)p");
      }
</script>
<style type="text/css">
<!--
.verd {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
}
-->
</style>
</head>
<body>
<input type=button name=btnClick value="Print" onclick="javascript:SetPrintProperties();">
<div class="verd">A5 yazdır..</div>
</body>
</html>
Birde font özelliklerini CSS kullanarak belirlerseniz
kullanıcı hemen hemen sizdeki tasarımı görecektir,
aksi halde mesela browser / view / text size da yazı tipi boyutunu
büyük küçük diye ayarlarsa fontlar sizdekinden farklı gözükür.

Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

eğer sistemde norton varsa sendkey olayında güvenlik açığı var alarmı verip sayfayı açmıyor,tikkatinizi çekerim :!:

gince
Üye
Mesajlar: 46
Kayıt: 20 Nis 2004 04:09

Mesaj gönderen gince »

Bir çalışma zamanı hatası oluştu. satır 9,otomasyon sonucu dosya oluşturulamıyor. hatası veriyor.

onaydin

Mesaj gönderen onaydin »

activeX le browser ın baya bi özelliğine erişilebildiğinden olsa
gerek güvenlik nedeniyle çalıştırılmıyor olabilir

bende i.e 6.0 ing , winXP üzerinde çalışıyor, sizde çalışmamasının sebebi
versiyon farklılığından ya da güvenlik ayarlarınızdan kaynaklanabilir.

bi deneme yapıp hangi versiyonlarda çalışıp çalışmadığına bakmak lazım.

bu formu basacak bilgisayarlar bir firmanın farklı bilgisayarları ise
belki bunlarda uygun versiyonların kurulması istenir.

http://www.meadroid.com/scriptx/index.asp

adresinde bi uygulama geliştirmişler, sayfa alt ve üst bilgilerini değiştirebiliyor sanırım bunları yapan sayfa ebatını da değiştirebilir.

Cevapla