Ik ben al een tijd lang aan het klooien met het werkend krijgen van een IPP printer via PHP. Het wil me maar niet lukken. Ik hoop dat ik hier een beetje duidelijk kan uitleggen wat mijn probleem is, misschien dat iemand me dan de juiste richting op kan sturen.
De situatie
Ik heb een CMS systeem gemaakt, waaruit de klant PDF en/of tekstfiles wil kunnen printen op printers op verschillende lokaties. De systeembeheerder van de klant heeft nu van een tweetal IPP printers aangemaakt op twee verschillende lokaties. Vervolgens heeft hij deze twee printers toegevoegd aan de printers op de server waar ik de PHP op zet. (Windows 2008SB) Als ik een RDP opzet met deze server een een testpagina afdruk naar 1 van de printers, dan werkt dit (zegt men, ik zit zelf niet naast de printer
). Alleen de betreffende server heeft, zonder login of wachtwoord, toegang tot de printers.
Wat heb ik gedaan?
ik heb de module printipp gedownload. Dit is de enige PHP module die ik kan vinden m.b.t. IPP printing (er lijken er meer te zijn, maar die verwijzen uiteindelijk allemaal naar dezelfde module). Vervolgens heb ik de voorbeeldcode voor BasicIPP, ExtendedIPP en CupsIPP proberen toe te passen op de printers die ik ter beschikking heb. Tot nu toe helaas zonder resultaat. Ik krijg altijd een timeout.
ik gebruik bijv. deze code (en vele probeervarianten daarvan):
in alle gevallen krijg ik na een seconde of 30 als melding van de debug: NO RESPONSE FROM SERVER
als ik de port op 80 zet, dan krijg ik wel antwoord van de server, namelijk keurig de html-code van de "printer-website" waarin je een lijst met printers ziet en allerlei settings kunt bekijken (als je via de browser naar het betreffende ipadres-of-domeinnaam zou gaan). Er is dus wel contact met de printerserver en de printerserver weet zelf ook dat hij een printerserver is
.
Verder geprobeerd
verder heb ik geprobeerd php_printer.dll (www.php.net/printer) te installeren in de hoop te kunnen printen naar de op de server aangemelde netwerkprinters. Ik kreeg echter de dll al niet werkend. Althans, het leek werkend, maar commando's als "printer_list()" werden niet herkend in de code.
Vragen
- Waar kan ik jullies inziens beter mijn aandacht op richten, op IPP printen of op het aan de praat krijgen van php_printer.dll?
- Hebben jullie misschien voorbeeldjes waar jullie zulks werk wel voor elkaar hebben gekregen?
- Kan er soms een server setting over het hoofd gezien zijn door de systeembeheerder of mij?
PS. ik heb al heel veel geprobeerd, maar bovenstaande is vooralsnog wat me nu het meest logisch leek om te vertellen / vragen. Het kan zijn dat ik zo nog wat aanvullingen doe
De situatie
Ik heb een CMS systeem gemaakt, waaruit de klant PDF en/of tekstfiles wil kunnen printen op printers op verschillende lokaties. De systeembeheerder van de klant heeft nu van een tweetal IPP printers aangemaakt op twee verschillende lokaties. Vervolgens heeft hij deze twee printers toegevoegd aan de printers op de server waar ik de PHP op zet. (Windows 2008SB) Als ik een RDP opzet met deze server een een testpagina afdruk naar 1 van de printers, dan werkt dit (zegt men, ik zit zelf niet naast de printer

Wat heb ik gedaan?
ik heb de module printipp gedownload. Dit is de enige PHP module die ik kan vinden m.b.t. IPP printing (er lijken er meer te zijn, maar die verwijzen uiteindelijk allemaal naar dezelfde module). Vervolgens heb ik de voorbeeldcode voor BasicIPP, ExtendedIPP en CupsIPP proberen toe te passen op de printers die ik ter beschikking heb. Tot nu toe helaas zonder resultaat. Ik krijg altijd een timeout.
ik gebruik bijv. deze code (en vele probeervarianten daarvan):
code:
1
2
3
4
5
6
7
8
9
10
11
12
| require_once("PrintIPP.php"); $ipp = new PrintIPP(); //$ipp->ssl = true; $ipp->debug_level = 1; $ipp->setLog('log.txt','file',1); $ipp->setHost("ipadres-of-domeinnaam"); $ipp->setPrinterUri("/printers/HP"); // $ipp->setPrinterUri("/printers/HP/.printer"); // $ipp->setPort(); $ipp->getPrinterAttributes(); |
in alle gevallen krijg ik na een seconde of 30 als melding van de debug: NO RESPONSE FROM SERVER
als ik de port op 80 zet, dan krijg ik wel antwoord van de server, namelijk keurig de html-code van de "printer-website" waarin je een lijst met printers ziet en allerlei settings kunt bekijken (als je via de browser naar het betreffende ipadres-of-domeinnaam zou gaan). Er is dus wel contact met de printerserver en de printerserver weet zelf ook dat hij een printerserver is

Verder geprobeerd
verder heb ik geprobeerd php_printer.dll (www.php.net/printer) te installeren in de hoop te kunnen printen naar de op de server aangemelde netwerkprinters. Ik kreeg echter de dll al niet werkend. Althans, het leek werkend, maar commando's als "printer_list()" werden niet herkend in de code.
Vragen
- Waar kan ik jullies inziens beter mijn aandacht op richten, op IPP printen of op het aan de praat krijgen van php_printer.dll?
- Hebben jullie misschien voorbeeldjes waar jullie zulks werk wel voor elkaar hebben gekregen?
- Kan er soms een server setting over het hoofd gezien zijn door de systeembeheerder of mij?
PS. ik heb al heel veel geprobeerd, maar bovenstaande is vooralsnog wat me nu het meest logisch leek om te vertellen / vragen. Het kan zijn dat ik zo nog wat aanvullingen doe
