jest coś takiego????
http://us3.php.net/manual/en/function.printer-open.php
może któraś z tych funkcji ali mi nie chodzą na webserv 2.0
jest coś takiego????
http://us3.php.net/manual/en/function.printer-open.php
może któraś z tych funkcji ali mi nie chodzą na webserv 2.0
<?php
$nr = $_POST["nr"];
require_once 'nazwadb.inc.php';
require_once 'walidacja.inc.php';
if (isset($_GET['nr'])) {
$nr = $_GET['nr'];
$nr = trim(strip_tags($nr));
$nr = mysql_escape_string($nr);
if (!ivpi($nr)) {
unset($nr);
}
}
if (isset($nr)) {
$link = mysql_connect("$host", "$root","$haslo")
or die ("BŁĄD: nie można się połączyć z serverem mySQL");
mysql_select_db($nazwabazydanych)
or die ("BŁĄD: wybór bazy danych");
$result = mysql_query("SELECT pdf FROM pliki WHERE id_plik=$nr");
$wiersz = mysql_fetch_array($result);
header("Cache-Control: no-cache, must-revalidate");
header("Content-type: application/pdf");
readfile ($wiersz['pdf']);
$handle = printer_open("hp LaserJet 1300 PCL 6");
if($handle==false)
{
echo"False";
}
else{
$sql = "UPDATE pliki SET `flaga` = '".$_POST['B2']."' WHERE `id_plik` = '".$_POST['nr']."'";
$result=mysql_query($sql);
}
mysql_close($link);
}
?>
nie chodzi :( wrzuca ciągle true
chodzi o to żeby jak kliknę drukuj w bazie zapisywała się flaga = 1
Co nie chodzi? Wszystko bangla:
true = działa drukarka
false = nie działa
ale mi chodzi że po wysłaniu do niej danych było true
a nie że działa :(
To po printer_open dopisz sobie funkcję która sprawdza status (przeglądnij na php.net co oferuje rozszerzenie 'printer')! Ten skrypt ma tylko otwierać połączenie z drukarką.
<?php
$nr = $_POST["nr"];
require_once 'walidacja.inc.php';
require_once 'nazwadb.inc.php';
if (isset($_GET['nr'])) {
$nr = $_GET['nr'];
$nr = trim(strip_tags($nr));
$nr = mysql_escape_string($nr);
if (!ivpi($nr)) {
unset($nr);
}
}
if (isset($nr)) {
$link = mysql_connect("$host", "$root","$haslo")
or die ("BŁĄD: nie można się połączyć z serverem mySQL");
mysql_select_db($nazwabazydanych)
or die ("BŁĄD: wybór bazy danych");
$result = mysql_query("SELECT pdf FROM pliki WHERE id_plik=$nr");
$wiersz = mysql_fetch_array($result);
header("Cache-Control: no-cache, must-revalidate");
header("Content-type: application/pdf");
//readfile ($wiersz['pdf']) ;
$handle = printer_open();
printer_start_doc($handle, readfile($wiersz['pdf']));
printer_start_page($handle);
printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
if(isset($wiersz['pdf']))
{
$sql = "UPDATE pliki SET `flaga` = '".$_POST['B2']."' WHERE `id_plik` = '".$_POST['nr']."'";
$result=mysql_query($sql);
};
}
mysql_close($link);
?>
zrobiłem tak żeby tylko po sprawdzało czy $wiersz istnieje działa a le jest kolejny problem
drukuje mi się pusty dokument :
printer_start_doc($handle, readfile($wiersz['pdf']));
nie działa choć wyświetla tekst natomiast działa do "czystego tekstu"
??
ReadFile = File_Get_Contents + Echo
Użyj file_get_contents!
lipa te funkcje drukują tylko czysty tekst
chyba tak nie darady :((
<?php
$nr = $_POST["nr"];
require_once 'walidacja.inc.php';
require_once 'nazwadb.inc.php';
if (isset($_GET['nr'])) {
$nr = $_GET['nr'];
$nr = trim(strip_tags($nr));
$nr = mysql_escape_string($nr);
if (!ivpi($nr)) {
unset($nr);
}
}
if (isset($nr)) {
$link = mysql_connect("$host", "$root","$haslo")
or die ("BŁĄD: nie można się połączyć z serverem mySQL");
mysql_select_db($nazwabazydanych)
or die ("BŁĄD: wybór bazy danych");
$result = mysql_query("SELECT pdf FROM pliki WHERE id_plik=$nr");
$wiersz = mysql_fetch_array($result);
header("Cache-Control: no-cache, must-revalidate");
header("Content-type: application/pdf");
//readfile ($wiersz['pdf']) ;
$handle = printer_open();
$dane = file_get_contents($wiersz['pdf']);
print $dane;
printer_write($handle, $dane);
printer_close($handle);
if(isset($wiersz['pdf']))
{
$sql = "UPDATE pliki SET `flaga` = '".$_POST['B2']."' WHERE `id_plik` = '".$_POST['nr']."'";
$result=mysql_query($sql);
};
}
mysql_close($link);
drukuje same krzaki też źle
Da radę. Tylko ustaw kodowanie i dowiedz się jakiego używa twoja drukarka.
@n
Ja na prawdę mam zaćmienie. Nawet o tym nie pomyślałem oO
Musiałbyś chyba przetworzyć dane binarne pdf'a na format akceptowany przez drukarki.