오늘은 Aspose.Words for C++ 19.10 릴리스에 도입된 주요 기능을 강조하겠습니다.

Word 문서를 MutiPage TIFF로 저장

Word 문서(DOCX, DOC, RTF 등)로 수행해야 하는 유용한 작업 중 하나는 이미지 파일로 변환하는 것입니다. 예를 들어 Word 문서를 읽고 인쇄할 수 있지만 편집할 수 없는 형식으로 제시해야 하는 경우(예: 웹 게시용). 사용할 수 있는 간단한 방법 중 하나는 다중 페이지 TIFF 파일로 변환하는 것입니다. C++용 Aspose.Words를 사용하여 Word 문서를 TIFF 형식으로 변환하는 방법을 배우려면 다음 문서를 참조하십시오. Word 문서를 여러 페이지 TIFF 이미지로 변환

// 전체 예제 및 데이터 파일을 보려면 https://github.com/aspose-words/Aspose.Words-for-.NET으로 이동하십시오.
// 문서를 여러 페이지 TIFF로 저장합니다.
doc.Save(dataDir + "TestFile Multipage TIFF_out.tiff");

C++를 사용하여 이미지를 PDF로 변환

이제 Aspose.Words for C++ API를 사용하여 이미지에서 PDF 문서를 생성할 수 있습니다. 다음 기사에서 언급한 코드 예제는 Aspose.Words for C++를 사용하는 것이 얼마나 쉬운지 보여줍니다. 이 코드를 사용하면 JPEG, PNG, BMP, EMF 또는 WMF와 같은 단일 프레임 이미지는 물론 다중 프레임 TIFF 이미지 및 GIF를 PDF로 변환할 수 있습니다. 이미지를 PDF로 변환

C++를 사용하여 TIFF 이진화에 대한 임계값 제어

회색조 영상에 포함된 정보를 256개의 회색조에서 흑백인 2개로 축소하여 이진화하는 과정을 이진화(binarization)라고 합니다. 문서가 TIFF 파일 형식으로 변환되면 ImageSaveOptions.ThresholdForFloydSteinbergDithering 속성을 사용하여 TIFF 이진화 임계값을 제어할 수 있습니다. 이 속성의 기본값은 128입니다. 값이 높을수록 이미지가 더 어두워집니다. 다음 코드 예제는 이 속성을 TIFF 이진화에 대한 임계값 제어에 사용하는 방법을 보여줍니다.

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);

C++를 사용하여 픽셀당 1비트로 이미지 저장

다음 코드 예제에서는 PixelFormat을 Format1bppIndexed로 설정하여 이미지를 픽셀당 1비트로 저장하는 방법을 보여줍니다.

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);

C++를 사용하여 암호로 DOC 또는 DOT 파일 암호화

DocSaveOptions 클래스는 문서를 DOC 또는 DOT 형식으로 저장할 때 추가 옵션을 지정하는 데 사용됩니다. 이 클래스를 사용하여 암호화된 문서에 암호를 설정하고 문서를 저장하는 동안 RoutingSlip 데이터를 무시할 수 있습니다. 아래의 예제 코드는 RC4 암호화 방식을 사용하여 문서를 암호화하기 위한 비밀번호 설정 방법을 보여줍니다.

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);

C++를 사용하여 암호로 DOCX 파일 암호화

OoXMLSaveOptions 클래스는 암호로 암호화된 문서를 저장할 수 있는 기회를 제공합니다. 이 클래스를 사용하면 문서를 저장하는 동안 OoxmlSaveOptions.Password 속성을 사용하여 암호를 설정할 수 있습니다. 다음 코드 예제는 비밀번호를 설정하고 문서를 DOCX 형식으로 저장하는 방법을 보여줍니다.

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);

DocumentVisitor를 사용하여 콘텐츠 추출

이제 DocumentVisitor 클래스를 사용하여 이 사용 시나리오를 구현할 수 있습니다. 이 클래스는 잘 알려진 방문자 디자인 패턴에 해당합니다. DocumentVisitor를 사용하면 문서 트리에 대한 열거가 필요한 사용자 정의 작업을 정의하고 실행할 수 있습니다. 자세한 내용은 다음을 확인하십시오. DocumentVisitor를 사용하여 콘텐츠를 추출하는 방법

글꼴 줄 간격 가져오기

글꼴의 줄 간격은 연속된 두 줄의 텍스트 기준선 사이의 수직 거리입니다. 따라서 줄 간격은 문자 자체의 높이와 함께 줄 사이의 공백을 포함합니다. LineSpacing 속성은 아래 주어진 예제와 같이 글꼴의 줄 간격 값 가져오기를 위해 Font 클래스에 도입되었습니다.

// 문서를 초기화합니다.
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");

// 줄 간격을 구합니다.
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;

유용한 링크 참조

리소스, 작업을 수행하는 데 필요할 수 있습니다.

Aspose 전통을 유지하면서 Aspose.Words for C++ 지원 포럼에 제안 사항과 우려 사항을 게시하여 Aspose.Words for C++ API의 향후 릴리스를 구성할 수 있습니다.