CompatibilityOptions

CompatibilityOptions class

Uyumluluk seçeneklerini (yani,Uyumluluk sekmesiSeçenekler Microsoft Word’deki iletişim kutusu).

Daha fazlasını öğrenmek için şu adresi ziyaret edin:Dosya Formatını Algıla ve Format Uyumluluğunu Kontrol Et dokümantasyon makalesi.

public class CompatibilityOptions

Özellikleri

İsimTanım
AdjustLineHeightInTable { get; set; }Tablo Hücrelerindeki Çizgilere Belge Izgara Çizgi Aralığı Ekleme.
AlignTablesRowByRow { get; set; }Tablo Satırlarını Bağımsız Olarak Hizalayın.
AllowSpaceOfSameStyleInTable { get; set; }Tablolarda Paragrafların Bağlamsal Aralığına İzin Ver.
ApplyBreakingRules { get; set; }Eski Etiyopya ve Amharca Sınır Aşan Kurallarını Kullanın.
AutofitToFirstFixedWidthCell { get; set; }Tablo Sütunlarının, Oluşturucu Hücrelerin Tercih Edilen Genişliklerini Aşmasına İzin Ver.
AutoSpaceLikeWord95 { get; set; }Word 95 Tam Genişlikte Karakter Aralığını Taklit Et.
BalanceSingleByteDoubleByteWidth { get; set; }Tek Baytlı ve Çift Baytlı Karakterleri Dengeleyin.
CachedColBalance { get; set; }Sütun Dengeleme için Önbelleğe Alınmış Paragraf Bilgilerini Kullan.
ConvMailMergeEsc { get; set; }Ters Eğik Çizgi Tırnak Sınırlayıcısını İki Tırnak İşareti Olarak Değerlendirin.
DisableOpenTypeFontFormattingFeatures { get; set; }OpenType yazı tipi biçimlendirme özelliklerinin devre dışı bırakılacağını belirtir.
DisplayHangulFixedWidth { get; set; }Hangul Karakterleri için Daima Sabit Genişlik Kullanın.
DoNotAutofitConstrainedTables { get; set; }Tabloları Sarılmış Nesnelerin Yanına Sığacak Şekilde Otomatik Sığdırmayın.
DoNotBreakConstrainedForcedTable { get; set; }Yüzen Tabloların Etrafındaki Tablo Sıralarını Kırmayın.
DoNotBreakWrappedTables { get; set; }Kayan Tabloların Sayfalar Arasında Ayrılmasına İzin Vermeyin.
DoNotExpandShiftReturn { get; set; }Yumuşak Satır Sonu ile Biten Satırları Yaslama.
DoNotLeaveBackslashAlone { get; set; }Girildiğinde Ters Eğik Çizgiyi Yen İşaretine Dönüştür.
DoNotSnapToGridInCell { get; set; }Nesnelerin Bulunduğu Tablo Hücrelerinde Belge Izgarasına Yaslama.
DoNotSuppressIndentation { get; set; }Paragraf Girintisini Hesaplarken Kayan Nesneleri Göz Ardı Etmeyin.
DoNotSuppressParagraphBorders { get; set; }Çerçevelerin Yanındaki Paragraf Kenarlıklarını Bastırma.
DoNotUseEastAsianBreakRules { get; set; }Belge Izgarasını Kullanırken Sıkıştırılabilir Karakterleri Sıkıştırmayın.
DoNotUseHTMLParagraphAutoSpacing { get; set; }HTML Otomatik Ayarı için Sabit Paragraf Aralığı Kullanın.
DoNotUseIndentAsNumberingTabStop { get; set; }Numaralandırmadan Sonra Sekme Durağı Oluştururken Asılı Girintiyi Yoksay.
DoNotVertAlignCellWithSp { get; set; }Yüzen Nesneler İçeren Hücreleri Dikey Olarak Hizalamayın.
DoNotVertAlignInTxbx { get; set; }Metin Kutularında Dikey Hizalamayı Yoksay.
DoNotWrapTextWithPunct { get; set; }Karakter Izgarasında Noktalama İşaretlerinin Asılmasına İzin Verme.
FootnoteLayoutLikeWW8 { get; set; }Word 6.x/95/97 Dipnot Yerleştirmesini Taklit Et.
ForgetLastTabAlignment { get; set; }Paragraf Hizalanırken Sola Hizalanmamışsa Son Sekme Durağının Genişliğini Yoksay.
GrowAutofit { get; set; }Tabloların Sayfa Kenar Boşluklarına Otomatik Sığdırılmasına İzin Ver.
LayoutRawTableWidth { get; set; }Tablonun Yüzen Nesneyi Sarıp Sarmayacağına Karar Verirken Tablodan Önceki Boşluğu Göz Ardı Etmeyin.
LayoutTableRowsApart { get; set; }Tablo Satırlarının Satır İçi Nesneleri Bağımsız Olarak Sarmasına İzin Ver.
LineWrapLikeWord6 { get; set; }Doğu Asya Metinleri için Word 6.0 Satır Kaydırma Öykünmesi.
MWSmallCaps { get; set; }Macintosh Küçük Büyük Harf Biçimlendirmesi için Word 5.x’e öykünme.
NoColumnBalance { get; set; }Bir Bölümdeki Metin Sütunlarını Dengeleme.
NoExtraLineSpacing { get; set; }İçeriği Tam Satır Yüksekliğindeki Satırlara Ortalamayın.
NoLeading { get; set; }Metin Satırları Arasına Satır Eklemeyin.
NoSpaceRaiseLower { get; set; }Yükseltilmiş/Alçaltılmış Metin için Satır Yüksekliğini Artırmayın.
NoTabHangInd { get; set; }Asılı Girinti için Özel Sekme Durağı Oluşturmayın.
OverrideTableStyleFontSizeAndJustification { get; set; }Belgenin stil hiyerarşisinin nasıl değerlendirileceğini belirtir.
PrintBodyTextBeforeHeader { get; set; }Gövde Metnini Üstbilgi/Altbilgi İçeriğinden Önce Yazdır.
PrintColBlack { get; set; }Renkleri Titreme Olmadan Siyah Beyaz Yazdır.
SelectFldWithFirstOrLastChar { get; set; }İlk veya Son Karakter Seçildiğinde Alanı Seçin.
ShapeLayoutLikeWW8 { get; set; }Yüzen Nesnelerin Etrafına Sarılan Word 97 Metni Taklit Et.
ShowBreaksInFrames { get; set; }Çerçevelerde Sayfa/Sütun Sonlarını Görüntüle.
SpaceForUL { get; set; }Altı Çizili Doğu Asya Metni İçin Satır Taban Çizgisinin Altına Ek Boşluk Ekleyin.
SpacingInWholePoints { get; set; }Metni Yalnızca Tam Noktalara Göre Genişlet/Yoğunlaştır.
SplitPgBreakAndParaMark { get; set; }Sayfa Sonundan Sonra Paragraf İşaretini Daima Sayfaya Taşı.
SubFontBySize { get; set; }Yazı Tipi Değiştirme Sırasında Yazı Tipi Boyutunun Önceliğini Artırın.
SuppressBottomSpacing { get; set; }Sayfadaki Son Satırın Tam Satır Yüksekliğini Yoksay.
SuppressSpacingAtTopOfPage { get; set; }Sayfadaki İlk Satırın Minimum Satır Yüksekliğini Yoksay.
SuppressSpBfAfterPgBrk { get; set; }Sayfa Sonu Sonrasında İlk Satırdan Önce Boşluk Kullanmayın.
SuppressTopSpacing { get; set; }Sayfadaki İlk Satırın Minimum ve Tam Satır Yüksekliğini Yoksay.
SuppressTopSpacingWP { get; set; }WordPerfect 5.x Satır Aralığına Taklit Et.
SwapBordersFacingPgs { get; set; }Tek Numaralı Sayfalarda Paragraf Kenarlıklarını Değiştir.
SwapInsideAndOutsideForMirrorIndentsAndRelativePositioning { get; set; }Ayna girintileri ve göreli konumlandırma için iç ve dış mekan değişimini belirtir.
TransparentMetafiles { get; set; }Meta dosyası resimlerinin arkasındaki alanın boşaltılmayacağını belirtir.
TruncateFontHeightsLikeWP6 { get; set; }WordPerfect 6.x Yazı Tipi Yüksekliği Hesaplamasını Taklit Edin.
UICompat97To2003 { get; set; }Word97-2003 ile uyumlu olmayan kullanıcı arayüzü işlevselliğini devre dışı bırakmak için doğru. Varsayılan değer:YANLIŞ .
UlTrailSpace { get; set; }Tüm İzleyen Boşlukların Altını Çizin.
UnderlineTabInNumList { get; set; }Alt Çizgi Takip Karakteri Takip Numaralandırma.
UseAltKinsokuLineBreakRules { get; set; }Alternatif Doğu Asya Sınır Aşma Kuralları Dizisini Kullanın.
UseAnsiKerningPairs { get; set; }Fontlardan ANSI Karakter Aralığı Çiftlerini Kullan.
UseFELayout { get; set; }Doğu Asya/Karmaşık Komut Dosyası Düzeni Kodunu Atlamayın.
UseNormalStyleForList { get; set; }Liste Paragrafı Stilini Madde İşaretli/Numaralı Metne Otomatik Olarak Uygulama.
UsePrinterMetrics { get; set; }Belgeleri Görüntülemek İçin Yazıcı Metriklerini Kullanın.
UseSingleBorderforContiguousCells { get; set; }Tablo Sınırı Çakışmaları İçin Basitleştirilmiş Kurallar Kullanın.
UseWord2002TableStyleRules { get; set; }Word 2002 Tablo Stili Kurallarını Taklit Et.
UseWord2010TableStyleRules { get; set; }Word2010 tablo stili kurallarının kullanılacağını belirtir.
UseWord97LineBreakRules { get; set; }Word 97 Doğu Asya Satır Kırma Öykünmesi.
WPJustification { get; set; }WordPerfect 6.x Paragraf Yaslamasını Taklit Et.
WPSpaceWidth { get; set; }Alanın genişliğinin WordPerfect 5.x. ‘de yapıldığı gibi ayarlanıp ayarlanmayacağını belirtir
WrapTrailSpaces { get; set; }Satır Sarma Sondaki Boşluklar.

yöntemler

İsimTanım
OptimizeFor(MsWordVersion)Belge içeriklerinin yanı sıra varsayılan Aspose.Words davranışının MS Word’ün belirli bir sürümüne göre optimize edilmesine olanak tanır.

Örnekler

Bir metin kutusunun metin içeriğinin dikey olarak nasıl hizalanacağını gösterir.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertShape(ShapeType.TextBox, 200, 200);

// "VerticalAnchor" özelliğini "TextBoxAnchor.Top" olarak ayarlayın
// bu metin kutusundaki metni şeklin üst tarafıyla hizalayın.
// "VerticalAnchor" özelliğini "TextBoxAnchor.Middle" olarak ayarlayın
// bu metin kutusundaki metni şeklin merkezine hizalayın.
// "VerticalAnchor" özelliğini "TextBoxAnchor.Bottom" olarak ayarlayın
// bu metin kutusundaki metni şeklin alt kısmına hizalayın.
shape.TextBox.VerticalAnchor = verticalAnchor;

builder.MoveTo(shape.FirstParagraph);
builder.Write("Hello world!");

// Metin kutularının içindeki metnin dikey hizalanması Microsoft Word 2007'den itibaren mümkündür.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2007);
doc.Save(ArtifactsDir + "Shape.VerticalAnchor.docx");

Kaydedilen bir belge için uyulması gereken OOXML uyumluluk spesifikasyonunun nasıl ayarlanacağını gösterir.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Uyumluluk seçeneklerini Microsoft Word 2003'e uyacak şekilde yapılandırırsak,
// bir görüntünün eklenmesi, VML kullanılarak şeklinin tanımlanmasını sağlayacaktır.
doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2003);
builder.InsertImage(ImageDir + "Transparent background logo.png");

Assert.AreEqual(ShapeMarkupLanguage.Vml, ((Shape)doc.GetChild(NodeType.Shape, 0, true)).MarkupLanguage);

// "ISO/IEC 29500:2008" OOXML standardı VML şekillerini desteklemez.
// SaveOptions nesnesinin "Compliance" özelliğini "OoxmlCompliance.Iso29500_2008_Strict" olarak ayarlarsak,
 // bu nesneyi geçerken kaydettiğimiz herhangi bir belgenin bu standarda uyması gerekecek.
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions
{
    Compliance = OoxmlCompliance.Iso29500_2008_Strict,
    SaveFormat = SaveFormat.Docx
};

doc.Save(ArtifactsDir + "OoxmlSaveOptions.Iso29500Strict.docx", saveOptions);

// Kaydedilen belgemiz, "ISO/IEC 29500:2008" OOXML standardına uymak için DML kullanarak şekli tanımlar.
doc = new Document(ArtifactsDir + "OoxmlSaveOptions.Iso29500Strict.docx");

Assert.AreEqual(ShapeMarkupLanguage.Dml, ((Shape)doc.GetChild(NodeType.Shape, 0, true)).MarkupLanguage);

Belgenin Microsoft Word’ün farklı sürümleri için nasıl optimize edileceğini gösterir.

public void OptimizeFor()
{
    Document doc = new Document();

    // Bu nesne, her belgeye özgü kapsamlı bir bayrak listesi içerir
    // bu, Microsoft Word'ün eski sürümleriyle geriye dönük uyumluluğu kolaylaştırmamızı sağlar.
    CompatibilityOptions options = doc.CompatibilityOptions;

    // Boş bir belge için varsayılan ayarları yazdırın.
    Console.WriteLine("\nDefault optimization settings:");
    PrintCompatibilityOptions(options);

    // Bu ayarlara Microsoft Word'de "Dosya" -> aracılığıyla erişebiliriz. "Seçenekler" --> "Gelişmiş" -> "Uyumluluk seçenekleri...".
    doc.Save(ArtifactsDir + "CompatibilityOptions.OptimizeFor.DefaultSettings.docx");

    // Belirli bir Microsoft Word sürümüyle optimum uyumluluğu sağlamak için OptimizeFor yöntemini kullanabiliriz.
    doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2010);
    Console.WriteLine("\nOptimized for Word 2010:");
    PrintCompatibilityOptions(options);

    doc.CompatibilityOptions.OptimizeFor(MsWordVersion.Word2000);
    Console.WriteLine("\nOptimized for Word 2000:");
    PrintCompatibilityOptions(options);
}

/// <summary>
/// Bir belgenin uyumluluk seçeneklerindeki tüm bayrakları duruma göre gruplandırır ve ardından her grubu yazdırır.
/// </summary>
private static void PrintCompatibilityOptions(CompatibilityOptions options)
{
    for (int i = 1; i >= 0; i--)
    {
        Console.WriteLine(Convert.ToBoolean(i) ? "\tEnabled options:" : "\tDisabled options:");
        SortedSet<string> optionNames = new SortedSet<string>();

        foreach (System.ComponentModel.PropertyDescriptor descriptor in System.ComponentModel.TypeDescriptor.GetProperties(options))
        {
            if (descriptor.PropertyType == Type.GetType("System.Boolean") && i == Convert.ToInt32(descriptor.GetValue(options)))
            {
                optionNames.Add(descriptor.Name);
            }
        }

        foreach (string s in optionNames)
        {
            Console.WriteLine($"\t\t{s}");
        }
    }
}

Ayrıca bakınız