40 ASSERT_TRUE(OpenDocument(
"hello_world.pdf"));
41 EXPECT_TRUE(FPDF_SaveWithVersion(document(),
this, 0, -1));
42 EXPECT_THAT(GetString(), StartsWith(
"%PDF-1.7\r\n"));
45 EXPECT_TRUE(FPDF_SaveWithVersion(document(),
this, 0, 0));
46 EXPECT_THAT(GetString(), StartsWith(
"%PDF-1.7\r\n"));
49 EXPECT_TRUE(FPDF_SaveWithVersion(document(),
this, 0, 18));
50 EXPECT_THAT(GetString(), StartsWith(
"%PDF-1.7\r\n"));
84 ASSERT_TRUE(OpenDocument(
"hello_world.pdf"));
86 ScopedEmbedderTestPage page = LoadScopedPage(0);
90 EXPECT_TRUE(output_doc);
91 EXPECT_TRUE(FPDF_ImportPages(output_doc.get(), document(),
"1", 0));
92 EXPECT_TRUE(FPDF_SaveAsCopy(output_doc.get(),
this, 0));
97 ASSERT_TRUE(OpenDocument(
"bug_42271133.pdf"));
98 ScopedEmbedderTestPage page = LoadScopedPage(0);
102 auto text_object = FPDFPage_GetObject(page.get(), 0);
103 ASSERT_TRUE(text_object);
104 ASSERT_TRUE(FPDFPage_RemoveObject(page.get(), text_object));
105 FPDFPageObj_Destroy(text_object);
108 ASSERT_TRUE(FPDFPage_GenerateContent(page.get()));
109 ASSERT_TRUE(FPDF_SaveAsCopy(document(),
this, 0));
112 ASSERT_TRUE(OpenSavedDocument());
113 FPDF_PAGE saved_page = LoadSavedPage(0);
114 ASSERT_TRUE(saved_page);
118 ASSERT_TRUE(path_obj);
123 ASSERT_TRUE(FPDFPageObj_GetFillColor(path_obj, &r, &g, &b, &a));
128 CloseSavedPage(saved_page);
129 CloseSavedDocument();
133 const int kPageCount = 3;
134 std::array<
std::string, kPageCount> original_md5;
136 ASSERT_TRUE(OpenDocument(
"linearized.pdf"));
137 for (
int i = 0; i < kPageCount; ++i) {
138 ScopedEmbedderTestPage page = LoadScopedPage(i);
140 ScopedFPDFBitmap bitmap = RenderLoadedPage(page.get());
141 EXPECT_EQ(612, FPDFBitmap_GetWidth(bitmap.get()));
142 EXPECT_EQ(792, FPDFBitmap_GetHeight(bitmap.get()));
143 original_md5[i] = HashBitmap(bitmap.get());
146 EXPECT_TRUE(FPDF_SaveAsCopy(document(),
this, 0));
147 EXPECT_THAT(GetString(), StartsWith(
"%PDF-1.6\r\n"));
148 EXPECT_THAT(GetString(), HasSubstr(
"/Root "));
149 EXPECT_THAT(GetString(), HasSubstr(
"/Info "));
150 EXPECT_THAT(GetString(), HasSubstr(
"/Size 37"));
151 EXPECT_THAT(GetString(), HasSubstr(
"35 0 obj"));
152 EXPECT_THAT(GetString(), HasSubstr(
"36 0 obj"));
153 EXPECT_THAT(GetString(), Not(HasSubstr(
"37 0 obj")));
154 EXPECT_THAT(GetString(), Not(HasSubstr(
"38 0 obj")));
155 EXPECT_EQ(7996u, GetString().size());
158 ASSERT_TRUE(OpenSavedDocument());
159 for (
int i = 0; i < kPageCount; ++i) {
160 FPDF_PAGE page = LoadSavedPage(i);
162 ScopedFPDFBitmap bitmap = RenderSavedPage(page);
163 EXPECT_EQ(original_md5[i], HashBitmap(bitmap.get()));
164 CloseSavedPage(page);
166 CloseSavedDocument();
170 ASSERT_TRUE(OpenDocument(
"jpx_lzw.pdf"));
171 ScopedEmbedderTestPage page = LoadScopedPage(0);
173 while (FPDFPage_CountObjects(page.get()) > 0) {
174 ScopedFPDFPageObject object(FPDFPage_GetObject(page.get(), 0));
176 ASSERT_TRUE(FPDFPage_RemoveObject(page.get(), object.get()));
178 ASSERT_TRUE(FPDFPage_GenerateContent(page.get()));
180 ASSERT_TRUE(FPDF_SaveAsCopy(document(),
this, 0));
183 ASSERT_TRUE(OpenSavedDocument());
184 FPDF_PAGE saved_page = LoadSavedPage(0);
185 ASSERT_TRUE(saved_page);
186 ScopedFPDFBitmap bitmap = RenderSavedPage(saved_page);
188 CloseSavedPage(saved_page);
189 CloseSavedDocument();
191 EXPECT_THAT(GetString(), StartsWith(
"%PDF-1.7\r\n"));
192 EXPECT_THAT(GetString(), HasSubstr(
"/Root "));
193 EXPECT_THAT(GetString(), Not(HasSubstr(
"/Image")));
194 EXPECT_LT(GetString().size(), 600u);