mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
Fix add not supported annots
This commit is contained in:
@ -228,7 +228,6 @@ namespace NSOnlineOfficeBinToPdf
|
||||
int nMaxID = oReader.ReadInt();
|
||||
std::wstring wsPrefix = oReader.ReadString();
|
||||
pPdf->MergePages(wsPath, nMaxID, wsPrefix);
|
||||
RELEASEARRAYOBJECTS(pFile);
|
||||
break;
|
||||
}
|
||||
case AddCommandType::WidgetInfo:
|
||||
|
||||
@ -369,8 +369,11 @@ PdfWriter::CObjectBase* DictToCDictObject2(Object* obj, PdfWriter::CDocument* pD
|
||||
if (obj->dictLookup("Type", &oType)->isName("Annot") && obj->dictLookup("Subtype", &oSubtype)->isName())
|
||||
{
|
||||
PdfWriter::CAnnotation* pAnnot = CreateAnnot(obj, &oSubtype, NULL);
|
||||
pDoc->AddAnnotation(nAddObjToXRef + nStartRefID, pAnnot);
|
||||
pDict = pAnnot;
|
||||
if (pAnnot)
|
||||
{
|
||||
pDoc->AddAnnotation(nAddObjToXRef + nStartRefID, pAnnot);
|
||||
pDict = pAnnot;
|
||||
}
|
||||
}
|
||||
oType.free(); oSubtype.free();
|
||||
|
||||
@ -1649,12 +1652,27 @@ bool CPdfEditor::SplitPages(const int* arrPageIndex, unsigned int unLength, PDFD
|
||||
if (pDict->Get("Filter"))
|
||||
pDict->SetFilter(STREAM_FILTER_ALREADY_DECODE);
|
||||
}
|
||||
|
||||
}
|
||||
oTemp.free();
|
||||
}
|
||||
pPage->Fix();
|
||||
if (m_nMode == Mode::WriteAppend)
|
||||
{
|
||||
pDoc->FixEditPage(pPage);
|
||||
|
||||
double dCTM[6] = { 1, 0, 0, 1, 0, 0 };
|
||||
GetCTM(xref, &pageObj, dCTM);
|
||||
pPage->StartTransform(dCTM[0], dCTM[1], dCTM[2], dCTM[3], dCTM[4], dCTM[5]);
|
||||
pPage->SetStrokeColor(0, 0, 0);
|
||||
pPage->SetFillColor(0, 0, 0);
|
||||
pPage->SetExtGrState(pDoc->GetExtGState(255, 255));
|
||||
pPage->BeginText();
|
||||
pPage->SetCharSpace(0);
|
||||
pPage->SetTextRenderingMode(PdfWriter::textrenderingmode_Fill);
|
||||
pPage->SetHorizontalScalling(100);
|
||||
pPage->EndText();
|
||||
}
|
||||
else
|
||||
m_pWriter->SetNeedAddHelvetica(false); // TODO дописывает шрифт для адекватного редактирования Adobe pdf без текст. Убрать при реализации map шрифтов
|
||||
pageObj.free();
|
||||
|
||||
@ -373,14 +373,14 @@ TEST_F(CPdfFileTest, SplitPdf)
|
||||
|
||||
TEST_F(CPdfFileTest, MergePdf)
|
||||
{
|
||||
// GTEST_SKIP();
|
||||
GTEST_SKIP();
|
||||
|
||||
LoadFromFile();
|
||||
|
||||
ASSERT_TRUE(pdfFile->EditPdf(wsDstFile));
|
||||
|
||||
std::wstring wsSplitFile = NSFile::GetProcessDirectory() + L"/test_split.pdf";
|
||||
pdfFile->MergePages(wsSplitFile);
|
||||
pdfFile->MergePages(wsSplitFile, 0, L"");
|
||||
|
||||
pdfFile->Close();
|
||||
}
|
||||
@ -407,7 +407,7 @@ TEST_F(CPdfFileTest, EditPdf)
|
||||
|
||||
TEST_F(CPdfFileTest, EditPdfFromBase64)
|
||||
{
|
||||
GTEST_SKIP();
|
||||
//GTEST_SKIP();
|
||||
|
||||
NSFonts::NSApplicationFontStream::SetGlobalMemoryStorage(NSFonts::NSApplicationFontStream::CreateDefaultGlobalMemoryStorage());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user