Heute werde ich die Hauptfunktionen hervorheben, die in der Version Aspose.Words for C++ 19.10 eingeführt wurden:

Word-Dokument als MutiPage TIFF speichern

Eines der nützlichen Dinge, die Sie möglicherweise mit Ihrem Word-Dokument (wie DOCX, DOC, RTF und vielen mehr) tun müssen, ist eine Konvertierung in Bilddatei(en). Zum Beispiel, wenn Sie Ihr Word-Dokument in einem lesbaren und druckbaren, aber nicht editierbaren Format präsentieren müssen (z. B. für die Veröffentlichung im Web). Einer der einfachen Ansätze, die Sie verwenden könnten, ist eine Konvertierung in eine mehrseitige TIFF-Datei. Bitte lesen Sie den folgenden Artikel, um zu erfahren, wie Sie ein Word-Dokument mithilfe von Aspose.Words für C++ in das TIFF-Format konvertieren: Word-Dokument in mehrseitiges TIFF-Bild konvertieren

// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-words/Aspose.Words-for-.NET
// Speichern Sie das Dokument als mehrseitiges TIFF.
doc.Save(dataDir + "TestFile Multipage TIFF_out.tiff");

Konvertieren Sie ein Bild mit C++ in PDF

Es ist jetzt möglich, ein PDF-Dokument aus einem Bild zu erstellen, indem Aspose.Words für die C++-API verwendet wird. Das im folgenden Artikel erwähnte Codebeispiel zeigt, wie einfach es mit Aspose.Words für C++ geht. Der Code ermöglicht die Konvertierung von Einzelbildbildern wie JPEG, PNG, BMP, EMF oder WMF sowie von Mehrbild-TIFF-Bildern und GIF in PDF. Bild in PDF umwandeln

Steuerschwelle für die TIFF-Binärisierung mit C++

Der Prozess der Reduzierung der im Graustufenbild enthaltenen Informationen von 256 Graustufen auf 2 Schwarz-Weiß-Schattierungen und die Umwandlung in das Binärbild ist die Binarisierung. Wenn ein Dokument in das TIFF-Dateiformat konvertiert wird, können Sie den Schwellenwert für die TIFF-Binärisierung steuern, indem Sie die ImageSaveOptions.ThresholdForFloydSteinbergDithering-Eigenschaft verwenden. Der Standardwert dieser Eigenschaft ist 128. Je höher der Wert, desto dunkler das Bild. Das folgende Codebeispiel zeigt, wie diese Eigenschaft verwendet wird, um den Schwellenwert für die TIFF-Binärisierung zu steuern.

System::SharedPtr<ImageSaveOptions> options = System::MakeObject<ImageSaveOptions>(SaveFormat::Tiff);
options->set_TiffCompression(TiffCompression::Ccitt3);
options->set_ImageColorMode(ImageColorMode::Grayscale);
options->set_TiffBinarizationMethod(ImageBinarizationMethod::FloydSteinbergDithering);
options->set_ThresholdForFloydSteinbergDithering(254);

System::String outputPath = outputDataDir + u"ImageColorFilters.ExposeThresholdControlForTiffBinarization.tiff";
doc->Save(outputPath, options);

Speichern Sie das Bild mit C++ in einem Bit pro Pixel

Im folgenden Codebeispiel wird veranschaulicht, wie das Bild mit einem Bit pro Pixel gespeichert wird, indem PixelFormat auf Format1bppIndexed festgelegt wird.

System::SharedPtr<ImageSaveOptions> opt = System::MakeObject<ImageSaveOptions>(SaveFormat::Png);
opt->set_PageIndex(1);
opt->set_ImageColorMode(ImageColorMode::BlackAndWhite);
opt->set_PixelFormat(ImagePixelFormat::Format1bppIndexed);

System::String outputPath = outputDataDir + u"ImageColorFilters.SaveImageToOnebitPerPixel.png";
doc->Save(outputPath, opt);

Verschlüsseln Sie DOC- oder DOT-Dateien mit Passwort mit C++

Die DocSaveOptions-Klasse wird verwendet, um zusätzliche Optionen beim Speichern eines Dokuments im DOC- oder DOT-Format anzugeben. Mit dieser Klasse können Sie das Kennwort für ein verschlüsseltes Dokument festlegen und RoutingSlip-Daten beim Speichern des Dokuments ignorieren. Das unten angegebene Codebeispiel zeigt, wie das Kennwort zum Verschlüsseln des Dokuments mit der RC4-Verschlüsselungsmethode festgelegt wird.

System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Document.doc");
System::SharedPtr<DocSaveOptions> docSaveOptions = System::MakeObject<DocSaveOptions>();
docSaveOptions->set_Password(u"password");
System::String outputPath = outputDataDir + u"WorkingWithDoc.EncryptDocumentWithPassword.doc";
doc->Save(outputPath, docSaveOptions);

Verschlüsseln Sie DOCX-Dateien mit Passwort mit C++

Die OoXMLSaveOptions-Klasse bietet die Möglichkeit, jedes mit dem Kennwort verschlüsselte Dokument zu speichern. Mit dieser Klasse können Sie das Kennwort festlegen, indem Sie die OoxmlSaveOptions.Password-Eigenschaft verwenden, während Sie das Dokument speichern. Das folgende Codebeispiel zeigt, wie Sie das Kennwort festlegen und das Dokument im DOCX-Format speichern.

System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"Document.doc");
System::SharedPtr<OoxmlSaveOptions> ooxmlSaveOptions = System::MakeObject<OoxmlSaveOptions>();
ooxmlSaveOptions->set_Password(u"password");
System::String outputPath = outputDataDir + u"WorkingWithOoxml.EncryptDocxWithPassword.docx";
doc->Save(outputPath, ooxmlSaveOptions);

Extrahieren Sie Inhalt mithilfe von DocumentVisitor

Sie können jetzt die DocumentVisitor-Klasse verwenden, um dieses Verwendungsszenario zu implementieren. Diese Klasse entspricht dem bekannten Visitor-Entwurfsmuster. Mit DocumentVisitor können Sie benutzerdefinierte Operationen definieren und ausführen, die eine Aufzählung über den Dokumentbaum erfordern. Weitere Informationen finden Sie unter: So extrahieren Sie Inhalte mit DocumentVisitor

Holen Sie sich den Schriftzeilenabstand

Der Zeilenabstand einer Schriftart ist der vertikale Abstand zwischen den Grundlinien zweier aufeinanderfolgender Textzeilen. Somit umfasst der Zeilenabstand den Leerraum zwischen den Zeilen zusammen mit der Höhe des Zeichens selbst. Die LineSpacing-Eigenschaft wurde in der Font-Klasse eingeführt, um den Wert des Zeilenabstands der Schriftart abzurufen, wie im folgenden Beispiel gezeigt:

// Dokument initialisieren.
System::SharedPtr<Document> doc = System::MakeObject<Document>();
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
builder->get_Font()->set_Name(u"Calibri");
builder->Writeln(u"qText");

// Zeilenabstand erhalten.
System::SharedPtr<Font> font = builder->get_Document()->get_FirstSection()->get_Body()->get_FirstParagraph()->get_Runs()->idx_get(0)->get_Font();
//Console.WriteLine($"lineSpacing = {font.LineSpacing}");
std::cout << "lineSpacing = " << font->get_LineSpacing() << std::endl;

Die Ressourcen, die Sie möglicherweise benötigen, um Ihre Aufgaben zu erfüllen:

Unter Beibehaltung der Aspose-Tradition sind Sie herzlich eingeladen, die kommenden Versionen von Aspose.Words für die C++-API zu gestalten, indem Sie Ihre Vorschläge und Bedenken im Aspose.Words for C++-Supportforum posten.