2015-02-27 29 views
6

Bir HTML belgesinin tüm içeriği olarak bir tablo var (yasal tablo amaçları için ... tablo verisi, düzen için değil). Bazı hücrelerde genişlik ve yükseklik belirtilir (css ile değil, bir tablo yapısında eski boyutlandırma satır içi kullanılarak), ancak genel tablo belirtilen bir genişlik veya yüksekliğe sahip değildir. Bu oldukça geniş bir tablodur, ancak düzgün bir ölçekleme ile (yaklaşık% 70) tek bir kağıda güzel bir şekilde sığacak şekilde basılabilir. Bu, IE, Firefox ve Chrome'un yazıcı ayarları içindeki "ölçek sayfa" işlevini kullanarak gerçekleştirilebilir. Tüm sayfanın (ki bu benim durumumda sadece bu tablo) bir baskı stil sayfasının bir parçası olarak ölçeklendirmenin bir yolu var mı (@media print {} hakkında biliyorum, ancak buradaki ifadeler göz ardı ediliyor ... sorun uygun komutlarla ölçekleme için, yazdırma css'sini ayarlamakla değil)? Bununla ekrandaki görüntüyü ölçeklendirebiliriz:css kullanarak yazdırmadan önce html tablosu css

ancak
body { 
    transform: scale(.7); 
} 

zaman baskı, Krom (ve diğerleri) benim ölçeği göz ardı ve otomatik kağıt genişliğine sığacak şekilde tabloyu ölçek ve bu benim tablo olmak bölünmüş yol açar ikinci sayfaya. Hiçbir başarı ile de bu uygulamadan denedi:

table {page-break-inside: avoid;} 
+0

Yazdırılan tabloları ölçekleme gibi bir şey denemediniz, ancak bazı tarayıcı varsayılan yazdırma stillerini tabloları geçersiz kılmak için bir yazdırma medya sorgusuna ihtiyaç duyabileceğiniz gibi geliyor. '@media print {body {dönüşümü: ölçek (.7); }} ' –

cevap

5

Tüm tabloyu, sınıf olarak uygulanan yüzde boyutları ile yeniden yazmayı bitirdim ve sonra sayfayı yazdırmak için ölçeklendirmeyi başardım. Tarayıcının, dönüşümle ilgili baskı stillerimi neden görmezden geldiğinden emin değil, ancak tabloyu sabit boyutlardan orantılı boyutlara dönüştürdüğümü, CSS ile ölçeklememi sağladı ve sorun giderildi.

4

Sen medya türlerini Yani

@media print { 
    body {transform: scale(.7);} 
    table {page-break-inside: avoid;} 
} 

kullanmalıdır, bu stiller olacak sadece baskı önizleme modunda uygulanarak. http://www.w3.org/TR/CSS21/media.html

+2

sorunu, tarayıcıların yazdırırken bu ifadeleri yok saymasıdır. Bunları özellikle baskı stilinde uygulamaya çalıştım ama göz ardı ediliyorlar. – techtheatre

3

ben ölü yükselterek biliyorum fakat ileride arama sonuçları referans:

ben yanlış yüksekliğini hesaplamak ve tek üzerinde thead birden çok kez tekrarlamak tüm tarayıcıları neden süper geniş tablolarla bir sorunla karşılaştık sayfalar - çözümüm yakınlaştırma uygulamaktı:% 80'i gövdeye (% ihtiyaçlarınıza göre değişir), bu da sayfamızın baskıya etkili bir şekilde sığdırılmasını sağladı ve ardından her sayfanın üst kısmında düzgün bir şekilde tekrarlandı. Belki de, yakınlaştırmayı denemek, dönüşümün gerçekleşmediği yerlerde çalışacaktır.