2011-02-04 24 views
6

Şu anda asp.NET kullanarak html olarak bir .doc dosyası oluşturuyorum.Oluşturulan bir HTML'de sayfa sonu ekleme .doc

Sayfanın içine sayfa sonu eklemek istiyorum ama nasıl olduğunu bilmiyorum.

css style = 'page-break-before: always' kullanmayı denedim ama hiçbir şey yapmıyor.

Bu

bir düğme click olayı atanan kodudur:

HttpContext.Current.Response.Clear(); 
    HttpContext.Current.Response.Charset =""; 

    HttpContext.Current.Response.ContentType ="application/msword"; 

    string strFileName = "GenerateDocument"+ ".doc"; 
    HttpContext.Current.Response.AddHeader("Content-Disposition","inline;filename=" + strFileName); 

    StringBuilder strHTMLContent = new StringBuilder(); 

    strHTMLContent.Append("<p align='Center'>Content Before Page Break</p>".ToString()); 

    strHTMLContent.Append("<br><br>".ToString()); 
    strHTMLContent.Append("<p class='pageBreak' style='mso-special-character:line-break;'>meh</p>".ToString()); 

    strHTMLContent.Append("<br><br>".ToString()); 
    strHTMLContent.Append("<p align='Center'>Content After Page Break</p>".ToString()); 

    HttpContext.Current.Response.Write(strHTMLContent); 
    HttpContext.Current.Response.End(); 
    HttpContext.Current.Response.Flush(); 
+0

HTML ile bir MS Word belgesi oluşturuyor musunuz? –

+0

Belgenin MS Word olduğunu iddia etmek MS Word yapamaz. Bu, kullanıcının bir HTML belgesini işlemeye çalıştığı Word belgelerini işlemek için yapılandırdığı uygulamayı yapar. Bir MS Word belgesini sunmak istiyorsanız, gerçek bir tane oluşturun. Bir yalan grubuna sarılmış HTML göndermeyin. – Quentin

+0

"docx" spesifikasyonuna bakmaktan daha iyi olabilirsiniz - Benzer bir şekilde üretebilir ve kelime/her hangi program tutamaçlarını ümit etmekten ziyade destekli bir format üretebilirdiniz. Doküman dosyalarını parçalara ayırabilir – Basic

cevap

1

Bunun için Office'in notasyonu olduğunu bilmiyorum, ama ben, Word'de bir sayfa sonu bir belge oluşturmak olarak kaydedin ediyorum HTML ve ne kullandığını görün. Eğer gösteren kod bloktan Tahmin

, bu olabilir

mso-special-character:page-break; 
+0

Bunu hiç sonuç vermeden denedim. Sanırım MS bir html dosyası açtığı zaman onu soyuyor mu? – baked

-2

HTML ile MS Word dosyalarını oluşturmak etmeyin

Sen bir ev inşa etmek istemem Bir bot için planlar yapar mısın?

Program aracılığıyla bunu yapmak istiyorsanız, docx biçimine veya zengin metin biçimi belirtimine göz atmanızı ve buradan hareket etmenizi öneririm. Ama herhalde yanlış yoldan aşağı iniyorsunuz ve zaten kullanabileceğiniz kütüphaneler var.

Sana start here

+1

Hayır, OLE nesneleri kullanarak veya docx belirtimine giden bir DERS, ileri değil bir adımdır. Evet, bu özellikler sadece cazip görünmekle kalmıyor, aynı zamanda onları tanıdım ve geçmişte de onlara aşık oldu. AMA, bir belgeyi biçimlendirmek için TEKRAR BAŞLADI. Html'den doc'a dönüşmeyi öğrenmek SUPERSEDES, bu bir çaba (tabii ki iyi bir çaba) hem bir web sayfası hem de düzenlenebilir bir kelime belgesi, hatta basılı bir belge için çalışacaktır. BİR ÇALIŞMA, her seferinde herşeyi etkileyen bir değişiklik, her seferinde tekrar başlamak zorunda değil. –

15

Kelime kendine özel sınıflar vardır. mso-özel karakter: sayfa sonu; Bu durumda, Pekka tarafından belirtildiği gibi çalışır, ancak eksik olan bu bir <br> etiketinde olmalıdır. (Ben orijinal kodu yazmadım ve bunu değiştirmek için çok daha büyük bir iş oldu)

<br clear=all style='mso-special-character:line-break;page-break-before:always'> 

özellikle güzel çözüm değil ama benim durumumda başka şansım yoktu: Yani aşağıdaki kod çalışacaktır.

+0

Bu gerçekten kutunun dışında çalışan harika bir cevaptır. – Greg0ry

İlgili konular