Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Druckbefehl in PHP schreiben

Frage Entwicklung PHP

Mitglied: wescraven07

wescraven07 (Level 2) - Jetzt verbinden

12.02.2015 um 14:23 Uhr, 1389 Aufrufe, 16 Kommentare

Hallo Leude, folgende Frage:

Ich habe einen Server bei mir im Netzwerk, der verschiedene Produktdaten hält. Das Ganze ist in 2 Frames aufgebaut. Links der Produktbaum und rechts das Produktdatenblatt.

Ich möchte jetzt versuchen, dass Produktdatenbatt zu drucken und zwar sowohl als PDF als auch als Hardcopy. Dummerweise tritt in beiden Fällen das Problem auf, dass nicht der gesamte Inhalt gedruckt wird, sondern nur bis zur Häflte bzw. dreiviertel.der Seite.

Ich habe schon mehrere PDF-Printer ausprobiert, bei allen dasselbe Ergebniss. Auch wenn ich in Firefox die Option "nur den aktuellen Frame anzeigen" nutze, wird nur ein Teil der Seit gedruckt. Hat da jemand einen Tip, wie man das Problem löst?

Ich könnte alternativ in diesem Datenballt noch einen Reiter einfügen und ein PHP Script hinterlegen und damit eine Druckbefehl ausgeben allerdings weiss ich nicht, wie dafür der PHP-Befehl lauten würde...

Hat jemand eine Idee?

Danek schonmal.

Greetz
Der Wes
Mitglied: eisbein
12.02.2015 um 14:56 Uhr
Hallo!

Um mit PHP eine PDF-Seite zu erstellen gibt es http://fpdf.de/.

Ich würde den HTML-Inhalt des Frames mittels Ajax an ein PHP-File übergeben und damit eine PDF-Seite generieren, die kann man dann ansehen, speichern oder drucken.

Gruß
Eisbein
Bitte warten ..
Mitglied: eisbein
12.02.2015 um 15:08 Uhr
Es könnte auch schon genügen den HTML-Inhalt des Frames in einer neuen Browser-Seite anzuzeigen und dann zu drucken bzw. den PDF-Printer zu verwenden.
Bitte warten ..
Mitglied: wescraven07
12.02.2015 um 15:43 Uhr
klingt schonmal gut, wie würde das scriptseitig ausehen? Ich habe die Möglichkeit eine PHP-Datei zu erstellen und dieser ein einen PHP-Code zu hinterlegen? Wie müsste dieser Code aussehen? Ich bin gerade am Anfang mit PHP...
Bitte warten ..
Mitglied: eisbein
12.02.2015 um 17:45 Uhr
Jeder fängt einmal an, das soll keine Hürde bzw. Ausrede sein.
Was hast du denn schon probiert....?
Bitte warten ..
Mitglied: wescraven07
16.02.2015 um 14:38 Uhr
Wäre prinzipiell hilfreich, aber ich fürchte, den Druckbefehl Scriptseitig zu lösen ohne "echte"-Entwicklungsumgebung wird schwierig, nachdem ich festgestellt habe, dass das alle realtiv starr ist...

Ich habe auch schon versucht, dass einfach ganz simpel über die Firefox-Drcuekn-Option zu lösen- Das Problem ist, dass es mir immer nur den jeweils angezeigten Inhalt ausdruck und den Rest, der eingentlich in 2 oder 3 Seiten umgebrochen werden und ausgeruckt werden sollte einfach abschneidet.

Hast Du eine Idee woran das liegen könnte, bzw. könnte man das vielleicht sogar ausserhalb der Serverapplikation Windows Seitig lösen? Also ein Script schreiben, dass dieses Problem Windows oder Browserseitig löst?
Bitte warten ..
Mitglied: eisbein
17.02.2015 um 06:35 Uhr
Guten Morgen!

Hast du ein Code-Beispiel?

Gruß
Eisbein
Bitte warten ..
Mitglied: wescraven07
17.02.2015 um 08:10 Uhr
Moin, nicht wirklich, ich brauche einen ganz neuen Ansatzpunkt.

Ich muss irgendwie realisieren, Windows oder Browserseitig, dass mir die komplette Seite ausgedruckt wird und nicht nur der Bildschirminhalt, weisst Du was ich meine?
Bitte warten ..
Mitglied: eisbein
17.02.2015, aktualisiert um 08:39 Uhr
Hallo!

Windows und Browser sind zwei unterschiedliche Dinge!

Was spricht gegen JavaScript?

Du hast keinen Code und suchst einen anderen Lösungsansatz...?! Klingt schon mal viel versprechend!

Gruß
Eisbein
Bitte warten ..
Mitglied: wescraven07
17.02.2015 um 09:17 Uhr
ok, ich erkläre mal die Ausganzsituation:

Ich habe einen Server auf dem eine Anwendung läuft, die PHP-basiert ist. Ich habe aber zu der Anwendung keine Enwicklungsumgebung, bin also sehr eingeschänkt, wass das Anpassen des Codes betrifft.

Meine Vorhaben jetzt ist Folgendes: Die Anwendung ist in mehreren Frames aufgebaut, links ein Navigationsbaum und rechts ein Datenblatt. Dieses Datenblatt will ich mir ausdrucken lassen.

Das Problem dabei ist, ich kann mir zwar den Frame, den ich ausdrucken will, allein anzeigen und ausdrucken lassen, aber sobald der Seiteninhalt über mehr als eine Seite geht, wird der Rest nicht mehr ausgedruckt und abgeschnitten. Wenn ich die Seitengrösse runterskaliere ist alles nicht mehr lesbar.

Gegen Javascript spricht prinzipiell gar nichts, aber ich kann es ohne Entwicklungsumgebung nicht einbauen, deshlab muss ich das irgendwie anders lösen.
Bitte warten ..
Mitglied: eisbein
17.02.2015, aktualisiert um 09:44 Uhr
Hallo!

Ich habe einen Server auf dem eine Anwendung läuft, die PHP-basiert ist. Ich habe aber zu der Anwendung keine Enwicklungsumgebung

Für PHP brauchst du keine Entwicklungsumgebung. PHP-Datei im Text-Edito öffnen, berabeiten, wieder als PHP-Datei (Endung .php!!!) speichern und gut ist es.

Das Problem dabei ist, ich kann mir zwar den Frame, den ich ausdrucken will, allein anzeigen und ausdrucken lassen, aber sobald der Seiteninhalt über mehr als eine Seite geht, wird der Rest nicht mehr ausgedruckt und abgeschnitten. Wenn ich die Seitengrösse runterskaliere ist alles nicht mehr lesbar.

Dafür habe ich doch einen Link gepostet, der genau das macht?!

Gegen Javascript spricht prinzipiell gar nichts, aber ich kann es ohne Entwicklungsumgebung nicht einbauen

Das verhält sich genau wie bei PHP - einfach Datei öffnen und den Code schreiben und speichern.

HTML, JavaScript und PHP-Kenntnisse sind sicherlich sehr hilfreich!
PHP wird am Server verarbeitet und das Resultat zum Client gesendet, JavaScript wird (normalerweise) im Browser des Clients verarbeitet, sofern JavaScript aktiviert ist.

Wo genau ist nun das Problem?

Zugriff auf den Server und die Dateien ist vorhanden?

Gruß
Eisbein
Bitte warten ..
Mitglied: wescraven07
17.02.2015 um 10:40 Uhr
Zugriff auf den Server ist theoretisch vorhanden allerdings noch kein Zugriff auf Dokumentatuion usw. Kann man ein Javascript zu diesem Zweck schreibn und lokal nur für den Druck Clientseitig ausführen?
Bitte warten ..
Mitglied: eisbein
17.02.2015, aktualisiert um 12:52 Uhr
Hallo!

Zugriff auf den Server ist theoretisch vorhanden

Hast du nun Zugriff auf die PHP-Datei oder nicht?

Denk nicht so kompliziert. In die entsprechende PHP-Datei, die den Button/Link (was auch immer) zur Darstellung des Frameinhaltes als neue Seite beinhaltet, wird das JavaScript eingefügt.
Wenn dann auf den Button/Link etc. geklickt wird, wird eine neue Seite im Browser mit dem Frameinhalt angezeigt, diese wird dann wie gewohnt mittes Browser-Druck-Befehl gedruckt oder als PDF gespeichert.

Deine Aufgabe besteht jetzt nur darin, die betreffende PHP-Datei auf dem Server ausfindig zu machen, diese mit einem Texteditor zu öffnen, das Javascript einzufügen und danach wieder als PHP-Datei auf dem Server zu speichern.
Und nicht vergessen, die Original PHP-Datei vorher zu sichern!!

Das Script lautet sinngemäß (entnommen aus dem bereits angeführten Link!):

<script language="JavaScript" type="text/javascript">
<!--

function printMainFrame() {
Main_Frame ist der Name des Quelltext-Frames
parent.frames.Main_Frame.focus();
Diese Zeile ist fuer den Internet Explorer, da er
normalerweise trotz richtiger Angabe nur das fokusierte
Frame-Fenster druckt.
parent.frames.Main_Frame.print();
}

function writePrint() {
document.write("<p><a href=\"javascript:printMainFrame()\">Dr&uuml;cken Sie hier, um den Quelltext auszudrucken!<\/a><\/p>");
}

// -->
</script>

Angepasst muss es natürlich noch werden.

Gruß
Eisbein
Bitte warten ..
Mitglied: wescraven07
17.02.2015 um 13:45 Uhr
Im Moment habe ich noch keinen Zugriff auf dei PHP-datei, dafür muss uns ein externer Dienstleister, der die Grundinstallation geliefert hat, erst noch die SDK zur Verfügung stellen.
Bitte warten ..
Mitglied: eisbein
17.02.2015 um 14:17 Uhr
Im Moment habe ich noch keinen Zugriff auf dei PHP-datei, dafür muss uns ein externer Dienstleister, der die Grundinstallation geliefert hat, erst noch die SDK zur Verfügung stellen.

Irgendwie reden wir aneinander vorbei denke ich.

Du schreibst:

Ich habe einen Server bei mir im Netzwerk, der verschiedene Produktdaten hält.

Du wirst doch auf deinen Server zugreifen können und die dort befindlichen Dateien bearbeiten können?!

Es handelt sich also um eine Fremdsoftware!
Schau dir die Dateistruktur genau an, bevor du etwas vom Drittanbieter kaufst. Wenn dort PHP-Dateien vorhanden sind, kannst du sie auch ändern (Lizenzen und Copyright beachten!).

Du kannst mir auch eine PN senden, wenn du hier nichts öffentlich posten willst.

Gruß
Eisbein
Bitte warten ..
Mitglied: wescraven07
17.02.2015 um 16:29 Uhr
Lass es mich mal so formulieren. Es ist ein vorhandes System von einem Fremdanbieter, in das ich mich einarbeiten muss.Für diese Fremdsoftware gibt es aber eine SDK, mit der man das System anpassen und weiterentwickeln kann. ich werd mal sehen, wie und wann mir die Umgebung zur Verfügung gestellt werden kann...
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst Loginzeiten aus dem Ereignisprotokoll in Excel schreiben (1)

Frage von l-Ne0n zum Thema Batch & Shell ...

Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...