39 ASSERT_TRUE(OpenDocument(
"hello_world.pdf"));
40 EXPECT_TRUE(FPDF_SaveWithVersion(document(),
this, 0, -1));
41 EXPECT_THAT(GetString(), StartsWith(
"%PDF-1.7\r\n"));
44 EXPECT_TRUE(FPDF_SaveWithVersion(document(),
this, 0, 0));
45 EXPECT_THAT(GetString(), StartsWith(
"%PDF-1.7\r\n"));
48 EXPECT_TRUE(FPDF_SaveWithVersion(document(),
this, 0, 18));
49 EXPECT_THAT(GetString(), StartsWith(
"%PDF-1.7\r\n"));
83 ASSERT_TRUE(OpenDocument(
"hello_world.pdf"));
85 FPDF_PAGE page = LoadPage(0);
88 ScopedFPDFDocument output_doc(FPDF_CreateNewDocument());
89 EXPECT_TRUE(output_doc);
90 EXPECT_TRUE(FPDF_ImportPages(output_doc.get(), document(),
"1", 0));
91 EXPECT_TRUE(FPDF_SaveAsCopy(output_doc.get(),
this, 0));
97 const int kPageCount = 3;
98 std::string original_md5[kPageCount];
100 ASSERT_TRUE(OpenDocument(
"linearized.pdf"));
101 for (
int i = 0; i < kPageCount; ++i) {
102 FPDF_PAGE page = LoadPage(i);
104 ScopedFPDFBitmap bitmap = RenderLoadedPage(page);
105 EXPECT_EQ(612, FPDFBitmap_GetWidth(bitmap.get()));
106 EXPECT_EQ(792, FPDFBitmap_GetHeight(bitmap.get()));
107 original_md5[i] = HashBitmap(bitmap.get());
111 EXPECT_TRUE(FPDF_SaveAsCopy(document(),
this, 0));
112 EXPECT_THAT(GetString(), StartsWith(
"%PDF-1.6\r\n"));
113 EXPECT_THAT(GetString(), HasSubstr(
"/Root "));
114 EXPECT_THAT(GetString(), HasSubstr(
"/Info "));
115 EXPECT_THAT(GetString(), HasSubstr(
"/Size 37"));
116 EXPECT_THAT(GetString(), HasSubstr(
"35 0 obj"));
117 EXPECT_THAT(GetString(), HasSubstr(
"36 0 obj"));
118 EXPECT_THAT(GetString(), Not(HasSubstr(
"37 0 obj")));
119 EXPECT_THAT(GetString(), Not(HasSubstr(
"38 0 obj")));
120 EXPECT_EQ(7908u, GetString().size());
123 ASSERT_TRUE(OpenSavedDocument());
124 for (
int i = 0; i < kPageCount; ++i) {
125 FPDF_PAGE page = LoadSavedPage(i);
127 ScopedFPDFBitmap bitmap = RenderSavedPage(page);
128 EXPECT_EQ(original_md5[i], HashBitmap(bitmap.get()));
129 CloseSavedPage(page);
131 CloseSavedDocument();
135 ASSERT_TRUE(OpenDocument(
"jpx_lzw.pdf"));
136 FPDF_PAGE page = LoadPage(0);
139 ScopedFPDFPageObject object(FPDFPage_GetObject(page, 0));
141 ASSERT_TRUE(FPDFPage_RemoveObject(page, object.get()));
146 ASSERT_TRUE(FPDF_SaveAsCopy(document(),
this, 0));
149 ASSERT_TRUE(OpenSavedDocument());
150 FPDF_PAGE saved_page = LoadSavedPage(0);
151 ASSERT_TRUE(saved_page);
152 ScopedFPDFBitmap bitmap = RenderSavedPage(saved_page);
154 CloseSavedPage(saved_page);
155 CloseSavedDocument();
157 EXPECT_THAT(GetString(), StartsWith(
"%PDF-1.7\r\n"));
158 EXPECT_THAT(GetString(), HasSubstr(
"/Root "));
159 EXPECT_THAT(GetString(), Not(HasSubstr(
"/Image")));
160 EXPECT_LT(GetString().size(), 600u);