Python Docx doğrudan COM şeyler her başa olmayan bir şeyi, Microsoft Word belgelerini oluşturmak için oldukça iyi bir kütüphane - yine de bazı sınırlamalar içine çalıştırıyorum. Herkesin bir metin dizisine nasıl bir vagon dönüşü yapacağına dair bir fikri var mı? Bir paragrafın aralarında fazladan boşluk olmadan birden fazla satıra sahip olmasını istiyorum. Bununla birlikte, çizgileri her zamanki '\ n' ile ayıran bir dize yazmak çalışmıyor. Ne de & # 10 veya & # 13 kullanıyor. Diğer düşünceler, ya da bu çerçeve böyle bir şey için çok mu sınırlı?Python Docx Satır Başı
cevap
Bunun mümkün olup olmadığından emin değilim. Word aslında giriş anahtarının preslerini işlemektedir (sanki bu eylemi bir programatik eşdeğeri "\ r \ n" ve "\ n" gibi) yeni bir paragrafın oluşturulması olarak ele alıyorum. Ben oluşur Word'de bir makro kaydetmek için
: Anahtar
girmek basılması metin "biri"
- Ben VBA olsun:
Selection.TypeText Text:="One" Selection.TypeParagraph
Şöyle bir Word belgesi oluşturursanız(her kelimeden sonra Enter tuşuna basarak):
O belgenin gövdedocuments.xml
dosyasında şöyle
: MSDN itibarenOne Two Three
<w:body> <w:p w:rsidR="00BE37B0" w:rsidRDefault="00CF2350"> <w:r> <w:t>One</w:t> </w:r> </w:p> <w:p w:rsidR="00CF2350" w:rsidRDefault="00CF2350"> <w:r> <w:t>Two</w:t> </w:r> </w:p> <w:p w:rsidR="00CF2350" w:rsidRDefault="00CF2350"> <w:r> <w:t>Three</w:t> </w:r> </w:p> <w:sectPr w:rsidR="00CF2350" w:rsidSect="001077CC"> <w:pgSz w:w="11906" w:h="16838"/> <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="708" w:footer="708" w:gutter="0"/> <w:cols w:space="708"/> <w:docGrid w:linePitch="360"/> </w:sectPr> </w:body>
<w:p>
öğesinin bir paragrafı temsil ettiğini görebiliyoruz.body.append(paragraph("Hi.")) body.append(paragraph("My name is Alice.")) body.append(paragraph("Let's code"))
Veya:
for paragraph_text in "Hi. \nMy name is Alice.\n Let's code".split("\n"): body.append(paragraph(paragraph_text.strip()))
Düzenleme:
bu bazı içine bakıyor
Bu çözüm Python Docx örneği takip etmek olacağını düşünüyorum Daha fazla, Word'de Shift + Enter tuşlarına basarsanız
Chr(11)
ekleyerek manuel satır sonu (paragraf değil) ekler. Açık XML'de, bu bir Break anlamına gelir. (: Test edilmedi feragat): Python Docx aitdocx.py
dosyanın baktığımızda, böyle bir şey gitmek için bir yol olabilir piton-docx çevirir '\ n' v0.7.2 itibariyle
for text in "Hi. \nMy name is Alice.\n Let's code".split("\n"): run = makeelement('r') run.append(makeelement('t', tagtext=text)) run.append(makeelement('br')) body.append(run)
, ve açıkladığınız davranışı sağlayan <w:br/>
öğelerine bir dizgede '' karakterleri '. Ayrıca '\ t' karakterlerini <w:tab/>
öğelerine de çevirir.
Document.add_paragraph()
Paragraph.add_run()
ve atanan dizeleri için:
Paragraph.text
-
Bu davranış sağlanan dizeleri için kullanılabilir
Run.text
Vuruşunuzda add_break()
numaralı telefonu arayarak python-docx kullanarak arabanızın iadesine ulaşabilirsiniz. Örneğin: paragraflar oluşturulur nasıl
doc = Document()
p = doc.add_paragraph()
run = p.add_run()
run.add_break()
- 1. Satır başı sırası dizileri
- 2. vba userforms satır başı dönüş davranışı
- 3. StringBuilder, bir satır başı ekleme ekleyemiyor mu?
- 4. String.Concat() beklenmedik 'satır başı' chars ekleyin
- 5. Metin 2'de Satır başı ve satır besleme nasıl görüntülenir?
- 6. "Satır besleme" ile "satır başı dönüşü" arasındaki fark nedir?
- 7. DOCX
- 8. Python - Üstbilgi ve altbilgiyi docx dosyasından kaldır
- 9. Python-Docx Kullanarak Yazı Tipi Özelliklerini Ayarlama
- 10. Kitaplığı kullanarak docx özelliklerini ayarlayın .docx
- 11. Windows telefonundaki resx dosyasına satır başı ('\ n') ekleyebilir miyiz?
- 12. Satır başı maksimum seçim ve sütun adına göre etiketleme
- 13. PHP'de normal ifadeyi kullanarak boşluk, satır başı ve satır besleme nasıl eşleştirilir?
- 14. Forbidden Dosya Türü docx
- 15. Novacode Docx Hakkında: Paragraflar
- 16. DOCX ayıklama tablosu
- 17. Sayfanın başı "PHP SDK ile
- 18. Saat Başı Sıra Sırası R
- 19. Python XLWT satır yüksekliği belirtilemiyor
- 20. CSV Python sütun/satır ortalamaları
- 21. Php aracılığıyla .docx dosyaları sunuluyor
- 22. Novacode en DOCX kullanma Novacode
- 23. docx-html-editor: java.lang.ClassNotFoundException: org.plutext.htmleditor.JAXRS2Application
- 24. Openoffice başlığını kullanarak pdf Docx çok yavaş
- 25. Python: Bir satır dosyasında, satır başına ngramların sayısını denetleme
- 26. Android ListeBu tıklanabilir öğelerin bulunduğu satırlar, satır başı kaydırma yapmaya devam ediyor
- 27. Dize değeri satır başı içeriğinin içerip içermediğini sınamak için SQL sorgusu
- 28. SQL String içinde bir satır başı için sorgu ve sonuçta satırbaşı bir dizede bir satırbası
- 29. Satır başı dönüş satırı beslemeleri kullanılarak birden çok satırın bir sütuna birleştirilmesi
- 30. Çizim Ok Başı Eğriler HTML5 Canvas
Sizin analizi doğru görünüyor, ama body.append (paragraf) bir çözüm olarak görünmüyor. Bu sadece yukarıda gördüğünüz sorunu "Bir", "İki" ve "Üç" paragraflarla yeniden oluşturur. İstediğim şey bir şekilde paragraflar arasındaki bu fazladan boşluktan kurtulan bir şey, muhtemelen bir şekilde bir paragraf elemanının tek bir satır sonu karakterini tanıması. – user1427661
@ user1427661 benim düzenleme konusuna bakın. –