2012-05-04 22 views
8

Kelime, internet explorer ve krom üzerinde çalışacak bir sayfa sonu oluşturmak için tutarlı bir yöntem bulamıyorum.Chrome, Explorer ve Word için Sayfa Sonları Oluşturma html içinde

Aşağıdaki örnekte (Google Chrome Printing Page Breaks'dan itibaren), hem Chrome hem de Internet Explorer için sayfa sonları düzgün bir şekilde oluşturulacak, ancak sözcük içinde sayfa sonları bulunmayacaktır.

 <head> 
    <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> 
    <title>Paginated HTML</title> 
    <style type="text/css" media="print"> 
     div.page 
     { 
     page-break-after: always; 
     page-break-inside: avoid; 
     } 
    </style> 
    </head> 
    <body> 
    <div class="page"> 
     <h1>This is Page 1</h1> 
    </div> 
    <div class="page"> 
     <h1>This is Page 2</h1> 
    </div> 
    <div class="page"> 
     <h1>This is Page 3</h1> 
    </div> 
    </body> 

Ben aşağıdaki ile sayfa sonu eklemek için kelime alabilirsiniz keşfettim kelime ile karıştırmasını sonra:

<br style="ms-special-character:line-break;page-break-before:always" /> 

Buradaki sorun şu internet explorer da Bunu bir sayfa sonu olarak gördükleri edilir Bu nedenle, yöntemleri birleştirirseniz Chrome ve Word'de sayfalar düzgün bir şekilde açılır, ancak Internet Explorer iki sayfa sonu ekler. Eğer sadece bir tane kullanırsanız, krom ve kaşif doğrudur ve kelime böyle değildir.

cevap

4

bu deneyin: ihtiyaçlarına uygun

<!--[if IE]> 
<br> 
<![endif]--> 
<!--[if !IE]> 
<br style="ms-special-character:line-break;page-break-before:always" /> 
<br> 
<![endif]--> 

İşe Yarar? (Not, bunlar düz eski html'de çalışır. Chrome ve MS Word'de (IE ile birlikte) test ettim ve iyi çalıştılar.)

+1

Bu gerçekten bir çözüm değil çünkü kullanıcının tarayıcılarda veya sözcüklerden herhangi birinde dolaşabileceği ve açabileceği statik bir html sayfası (rapor olarak) oluşturuyoruz. –

+2

Cevabımın nesi var? – Vreality

+1

@MatthewSanford, belirli bir programda sürekli olarak açılacak bir dosya türünü oluşturamıyor musunuz? pdf gibi mi? – JakeParis

0

İlgili CSS'yi! IE koşullu yorumlara yerleştirin. Her şey olduğu gibi bırakılabilir.

<style type="text/css" media="print"> 
<!--[if !IE]> 
     div.page 
     { 
     page-break-after: always; 
     page-break-inside: avoid; 
     } 
<![endif]--> 
    </style> 

Explorer yorumlar gibi <!--[if !IE]> ve <![endif]--> etiketleri arasındaki her şeyi davranır ve Word buna tepki vermez. Diğer tüm tarayıcılar daha önce olduğu gibi görüntülenmeye devam edecektir.

div.page:not(.dummy) 
{ 
    page-break-after: always; 
    page-break-inside: avoid; 
} 
: koşullu yorum ile ya ya da bir CSS Bunun gibi kesmek - Eğer bir şekilde bu tarayıcılar arasında ayrım gerekir böylece
1

Bu

, IE8 ve IE9 (sağlanan IE9 standartları modundayken) arasında bir fark olduğunu Her iki br üzerinde sayfa sonlarını uygulamak ve anlaşılması tarayıcılar karşı koruma için

(Chrome, Firefox, OpenOffice Writer [Word için umarım yeterli yedek] ve IE 7,8,9 test edilmiştir)

: değil, eklemek olabilir Buna rağmen, gereken herhangi bir tarayıcıyı bilmeme rağmen:

br:not(.dummy) 
{ 
    page-break-before: auto; 
} 
0

Bu tür yayınların bana mal olabileceğini biliyorum, ancak, ciddi olarak, bir adımı atlayıp başarmaya çalıştığınız şeyi yeniden gözden geçirin.

Raporunuzu Word kullanarak görüntüleyebilen ve yazdırabilen bir kullanıcı da IE'ye sahiptir ve büyük olasılıkla Chrome'a ​​kolayca erişebilir. Bu yüzden benim tahminim sadece görüntüleme ve yazdırma için değil, özellikle düzenleme için.

Örneğinizi takip ettim ve (her açıdan değiştirilmemiş) IE9, Word 2010 kullanılarak eklenen sayfa sonları yazdırmayacak ve sonuçta ortaya çıkan HTML dokümanı, başlangıçtaki ile neredeyse hiçbir benzerlik göstermeyecek, özellikle DIV'ler yok, yani Word'ün sözleri neredeyse dikkatsizce iyimser olduktan sonra hala aynı şekilde yazdırıyor.

Tüm bu fikri kırılmış görünüyor:

  • HTML yolunuzu yazmayı görünüyor anlamsız verilen Kelime ile yaptığı o
  • bile son IE sayfa sonlarını Kelime
  • kullanılarak eklenen ile basit bir örnek işleyemez
  • Word kaydederken, bir dil ayarı belirli bir dizin oluşturdu ve herhangi bir ürün için gerekli testlerin saçma büyük bir ev sahibi olan üç yeni dosya oluşturdu:
  • birçok kullanıcı bilgisi (yumurtlama dizinleri, doğru kaydetme, tüm belgenin nasıl kopyalanacağı) Doğru) kullanıcı tanımlı ayarlar kolayca

Bir Word belgesi olarak rapor yazarken başlangıçta öneririm HTML kullanan herhangi bir çözüm kırabilir görünüyor hatta statik Microsoft eko-sistemin

  • içinde bu işi yapmak için gerekli görünüyor. Sıkıştırılmış olsa da, Word belgeleri HTML gibi biçimlendirilmiş olsa bile, zaten HTML oluşturabilirseniz, biraz fazladan çaba harcayarak Word'ü oluşturabilirsiniz. Word görüntüleyicileri neredeyse her x86 veya ARM tabanlı aygıttan alabileceğiniz gibi, basit örneklerin bile başarısız olduğu bir yönde araştırmaktan daha mantıklı bir yön çiziyor.