mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-02-10 18:05:41 +08:00
Merge pull request 'Fix bugs 74268, 74307' (#298) from fix/pdf-bugs into release/v9.0.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/core/pulls/298
This commit is contained in:
@ -1048,7 +1048,7 @@ int main(int argc, char* argv[])
|
||||
}
|
||||
}
|
||||
BYTE* pFileMerge = NULL;
|
||||
if (true)
|
||||
if (false)
|
||||
{
|
||||
int nBufferLen = NULL;
|
||||
BYTE* pBuffer = NULL;
|
||||
@ -1080,55 +1080,6 @@ int main(int argc, char* argv[])
|
||||
|
||||
MergePages(pGrFile, pSplitPages + 4, nLength - 4, 0, "merge1");
|
||||
}
|
||||
|
||||
/*
|
||||
if (GetFromBase64(NSFile::GetProcessDirectory() + L"/split2.txt", &pBuffer, &nBufferLen))
|
||||
{
|
||||
NSFile::CFileBinary oFile;
|
||||
if (oFile.CreateFileW(NSFile::GetProcessDirectory() + L"/split2.pdf"))
|
||||
oFile.WriteFile(pBuffer, nBufferLen);
|
||||
oFile.CloseFile();
|
||||
|
||||
MergePages(pGrFile, pBuffer, nBufferLen, 0, "merge2");
|
||||
}
|
||||
|
||||
|
||||
if (GetFromBase64(NSFile::GetProcessDirectory() + L"/split1.txt", &pBuffer, &nBufferLen))
|
||||
{
|
||||
std::vector<int> arrPages = { 1 };
|
||||
BYTE* pSplitPages = SplitPages(pGrFile, arrPages.data(), arrPages.size(), pBuffer, nBufferLen);
|
||||
int nLength = READ_INT(pSplitPages);
|
||||
MergePages(pGrFile, pSplitPages + 4, nLength - 4, 0, "merge");
|
||||
}
|
||||
|
||||
if (GetFromBase64(NSFile::GetProcessDirectory() + L"/split2.txt", &pBuffer, &nBufferLen))
|
||||
{
|
||||
std::vector<int> arrPages = { 2 };
|
||||
BYTE* pSplitPages = SplitPages(pGrFile, arrPages.data(), arrPages.size(), pBuffer, nBufferLen);
|
||||
int nLength = READ_INT(pSplitPages);
|
||||
MergePages(pGrFile, pSplitPages + 4, nLength - 4, 0, "merge");
|
||||
}
|
||||
|
||||
|
||||
if (GetFromBase64(NSFile::GetProcessDirectory() + L"/merge1.txt", &pBuffer, &nBufferLen))
|
||||
{
|
||||
if (MergePages(pGrFile, pBuffer, nBufferLen, 0, "merge1") == 0)
|
||||
RELEASEARRAYOBJECTS(pFileMerge);
|
||||
}
|
||||
|
||||
if (GetFromBase64(NSFile::GetProcessDirectory() + L"/split.txt", &pBuffer, &nBufferLen))
|
||||
{
|
||||
std::vector<int> arrPages = { 1 };
|
||||
if (SplitPages(pGrFile, arrPages.data(), arrPages.size(), pBuffer, nBufferLen) == 0)
|
||||
RELEASEARRAYOBJECTS(pFileMerge);
|
||||
}
|
||||
|
||||
if (GetFromBase64(NSFile::GetProcessDirectory() + L"/merge2.txt", &pBuffer, &nBufferLen))
|
||||
{
|
||||
if (MergePages(pGrFile, pBuffer, nBufferLen, 0, "merge2") == 0)
|
||||
RELEASEARRAYOBJECTS(pFileMerge);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
// INFO
|
||||
|
||||
@ -1075,7 +1075,10 @@ CAnnotWidgetBtn::CAnnotWidgetBtn(PDFDoc* pdfDoc, AcroFormField* pField, int nSta
|
||||
oField.free();
|
||||
|
||||
if (pField->fieldLookup("AS", &oObj)->isName())
|
||||
{
|
||||
m_sV = oObj.getName();
|
||||
m_unFlags |= (1 << 9);
|
||||
}
|
||||
oObj.free();
|
||||
|
||||
Object oMK;
|
||||
|
||||
@ -3291,10 +3291,22 @@ namespace PdfWriter
|
||||
|
||||
// Задний фон
|
||||
m_pStream->WriteStr("q\012");
|
||||
m_pStream->WriteStr(pAnnot->GetBGforAP(!bN && nBorderType != EBorderType::Beveled ? -0.250977 : 0).c_str());
|
||||
m_pStream->WriteStr("\012");
|
||||
StreamWriteRect(m_pStream, 0, 0, dW, dH);
|
||||
m_pStream->WriteStr("f\012");
|
||||
std::string sBG;
|
||||
if (!bN && nBorderType != EBorderType::Beveled)
|
||||
{
|
||||
sBG = pAnnot->GetBGforAP(-0.250977);
|
||||
if (sBG.empty())
|
||||
sBG = "0.749023 g";
|
||||
}
|
||||
else
|
||||
sBG = pAnnot->GetBGforAP();
|
||||
if (!sBG.empty())
|
||||
{
|
||||
m_pStream->WriteStr(sBG.c_str());
|
||||
m_pStream->WriteStr("\012");
|
||||
StreamWriteRect(m_pStream, 0, 0, dW, dH);
|
||||
m_pStream->WriteStr("f\012");
|
||||
}
|
||||
|
||||
// Граница
|
||||
if (nBorderType == EBorderType::Beveled || nBorderType == EBorderType::Inset)
|
||||
|
||||
@ -352,7 +352,7 @@ TEST_F(CPdfFileTest, VerifySign)
|
||||
|
||||
TEST_F(CPdfFileTest, SplitPdf)
|
||||
{
|
||||
//GTEST_SKIP();
|
||||
GTEST_SKIP();
|
||||
|
||||
LoadFromFile();
|
||||
|
||||
@ -436,7 +436,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