diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc
index 59064e8b9d4c9..3de3000a9f375 100644
--- a/pdf/pdfium/pdfium_engine.cc
+++ b/pdf/pdfium/pdfium_engine.cc
@@ -4410,7 +4410,7 @@ void PDFiumEngine::ScheduleSearchifyIfNeeded(PDFiumPage* page) {
   CHECK(page);
   CHECK(page->available());
 
-  if (page->IsPageSearchified()) {
+  if (client_->IsPrintPreview() || page->IsPageSearchified()) {
     return;
   }
 
diff --git a/pdf/pdfium/pdfium_on_demand_searchifier_unittest.cc b/pdf/pdfium/pdfium_on_demand_searchifier_unittest.cc
index f03a85fc3f4de..c58a596f6d275 100644
--- a/pdf/pdfium/pdfium_on_demand_searchifier_unittest.cc
+++ b/pdf/pdfium/pdfium_on_demand_searchifier_unittest.cc
@@ -41,6 +41,8 @@ class SearchifierTestClient : public TestClient {
   SearchifierTestClient& operator=(const SearchifierTestClient&) = delete;
   ~SearchifierTestClient() override = default;
 
+  bool IsPrintPreview() const override { return is_print_preview_; }
+
   void OnSearchifyStateChange(bool busy) override {
     if (busy) {
       busy_state_changed_count_++;
@@ -49,6 +51,13 @@ class SearchifierTestClient : public TestClient {
     }
   }
 
+  void set_for_print_preview() { is_print_preview_ = true; }
+
+  int busy_state_changed_count() const { return busy_state_changed_count_; }
+  int idle_state_changed_count() const { return idle_state_changed_count_; }
+
+ private:
+  bool is_print_preview_ = false;
   int busy_state_changed_count_ = 0;
   int idle_state_changed_count_ = 0;
 };
@@ -116,6 +125,11 @@ class PDFiumOnDemandSearchifierTest : public PDFiumTestBase {
     ASSERT_TRUE(engine_) << test_filename;
   }
 
+  void CreatePreviewEngine(const base::FilePath::CharType* test_filename) {
+    client_.set_for_print_preview();
+    CreateEngine(test_filename);
+  }
+
   void TearDown() override {
     // PDFium gets uninitialized via `FPDF_DestroyLibrary`. If `engine_` is not
     // destroyed here, its destruction results in a crash later.
@@ -152,10 +166,10 @@ class PDFiumOnDemandSearchifierTest : public PDFiumTestBase {
   int performed_ocrs() const { return performed_ocrs_; }
   PDFiumEngine* engine() { return engine_.get(); }
   int busy_state_changed_count() const {
-    return client_.busy_state_changed_count_;
+    return client_.busy_state_changed_count();
   }
   int idle_state_changed_count() const {
-    return client_.idle_state_changed_count_;
+    return client_.idle_state_changed_count();
   }
 
  private:
@@ -400,6 +414,18 @@ TEST_P(PDFiumOnDemandSearchifierTest, MultiplePagesWithUnload) {
   EXPECT_TRUE(page3_info.value().is_searchified);
 }
 
+TEST_P(PDFiumOnDemandSearchifierTest, OnePageWithImagesInPrintPreview) {
+  CreatePreviewEngine(FILE_PATH_LITERAL("image_alt_text.pdf"));
+
+  PDFiumPage& page = GetPDFiumPageForTest(*engine(), 0);
+
+  // Load the page to trigger Searchify, but it should not do anything for Print
+  // Preview.
+  page.GetPage();
+  ASSERT_FALSE(engine()->PageNeedsSearchify(0));
+  ASSERT_FALSE(engine()->GetSearchifierForTesting());
+}
+
 TEST_P(PDFiumOnDemandSearchifierTest, OcrCancellation) {
   constexpr int kPageCount = 4;
   CreateEngine(FILE_PATH_LITERAL("multi_page_no_text.pdf"));