Προς το περιεχόμενο

Οριζόντια εκτύπωση σε javascript


eirinikp

Προτεινόμενες αναρτήσεις

Δημοσ.

Γεια!

Έχω μία σελίδα html, στην οποία θέλω να υπάρχει σε ένα πλαίσιο η δυνατότητα εκτύπωσής του, με το αντίστοιχο κουμπί.

Για αυτό χρησιμοποιώ το εξής:

 

><img src='images/printer.png' title="print" style='cursor:pointer;' onclick='window.print();'/>

Όμως επειδή το περιεχόμενο που τυπώνω είναι αρκετά πλατύ, δε χωράει στη σελίδα, ενώ θα χωρούσε αν μπορούσα να ορίσω να έχει στην εκτύπωση οριζόντιο προσανατολισμό.

Δεν έχω βρει όμως πώς γίνεται αυτό.

Είδα κάπου που έγραφε να ορίσω στη συγκεριμένη σελίδα που τυπώνω το εξής στο css

 

>@media print{ 
  @page { 
     size: landscape 
  } 
} 

το οποίο και έκανα, αλλά δεν πέτυχε. Απλά τα έκοψε λίγο πιο μέσα...

Δημοσ.

:shock: Και τι προτείνεις??

 

><script type="text/javascript">
function printpage()
{
window.print();
}
</script>

 

>
<img src='images/printer.png' title="print" style='cursor:pointer;' onclick="printpage()";onclick="show_alert()" />

 

>

<script type="text/javascript">
function show_alert()
{
alert("epilekste orizontia ektiposi gia na xoresei olo to keimeno");
}
</script>

 

Δεν το έχω δοκιμάσει, ούτε ξέρω αν μπορούν να δουλέψουν δύο oncklick ταυτόχρονα. Ελπίζω να σε βοήθησα. Δεν είναι αυτό που θες αλλά έμμεσα θα γίνει οριζόντια εκτύπωση

Δημοσ.

Δεν είναι λύση αυτό που προτείνει ο NiKoS...

Δεν θα παίξει κιόλας αυτό που έγραψε...

 

Δεν νομίζω να υπάρχει λύση σε αυτό που ζητάς..

Έχει κάτι παραδείγματα με CSS αλλά δεν παίζουν αυτά που έχω δοκιμάσει.

 

Όποιος γνωρίζει κάτι παραπάνω ας μας πει.

Δημοσ.

Ναι, σίγουρα δεν υπάρχει περίπτωση να παίξουν 2 onclick, αλλά θα βάλω τουλάχιστον αυτό

><img src='images/printer.png' title="print" width='25px' height='25px' style='cursor:pointer;' onclick="alert('Please print this page horizontally');window.print();"/>

Όσο δε βρίσκεται λύση, ας προειδοποιώ τουλάχιστον όποιον θέλει να τυπώσει...

Δημοσ.

Η αλήθεια είναι ότι με javascript το μόνο που έχεις σαν επιλογή είναι το window.print() το οποίο πρακτικά ανοίγει το print dialog του browser του χρήστη. Και πρακτικά δεν μπορείς να περάσεις παραμέτρους για το πως θέλεις να τυπωθεί η σελίδα.

Δημοσ.

Απ' όσο το είχα ψάξει κι εγώ λίγο παλιότερα, κατέληξα στο συμπέρασμα πως δεν υπάρχει απλός και universal (να παίζει παντού) τρόπος.

 

Ένας τρόπος, άσχετος όμως με CSS, Javascript κλπ. είναι να δίνεις στο frontend δυνατότητα στον χρήστη να κατεβάσει ένα PDF που θα δημιουργείς δυναμικά στο backend με κάποια PDF writing library. Ε, στο PDF μπορείς να ορίσεις orientation (και όχι μόνο).

Δημοσ.

Σε ένα forum πρότειναν αυτό:

 

@media print {

@page rotated {size: landscape}

}

 

και σε ένα άλλο πρότειναν αυτό:

 

@media print {

@page {

size: A4 portrait;

}

}

 

Η λύση που μας έδωσε ο Νίκος είναι η μοναδική που λειτούργησε μέχρι τώρα!

Δημοσ.

 

Η λύση που μας έδωσε ο Νίκος είναι η μοναδική που λειτούργησε μέχρι τώρα!

 

:-D :-D :-D :-D :-D Yeah... Πάντως το δικό μου δεν είναι η λύση, απλά γίνεται η δουλειά θέλει να γίνει

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...