整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Word處理控件Aspose.Words如何在 Ja

          Word處理控件Aspose.Words如何在 Java 中將 DOC 或 DOCX 轉換為 JPG

          各種情況下,我們需要以編程方式將 MS Word DOC/DOCX 顯示到我們的應用程序中。在這種情況下,最方便的方法之一是從 DOC 或 DOCX 轉換為 JPG 格式。為此,在本文中,您將學習如何在 Java中將DOC或DOCX文件轉換為JPG。此外,我們將介紹如何使用不同的選項自定義 DOC 到 JPG 的轉換。

          Aspose-超100種文件格式管理API,涉及條碼,CAD,GIS地圖,PSD等諸多領域,正版購買,試用下載—慧都網-慧都網

          Java API for DOCX DOCX to JPG - 免費下載

          Aspose.Words for Java是一個功能豐富的 API,用于在基于 Java 的應用程序中創建、編輯或轉換 MS Word 文檔。我們將使用此 API 將 DOC/DOCX 轉換為 JPG。您可以下載API 的 JAR 或使用以下 Maven 配置安裝它:

          存儲庫:

          <repository>
          <id>AsposeJavaAPI</id>
          <name>Aspose Java API</name>
          <url>https://repository.aspose.com/repo/</url>
          </repository>

          依賴:

          <dependency>
          <groupId>com.aspose</groupId>
          <artifactId>aspose-words</artifactId>
          <version>22.4</version>
          <classifier>jdk17</classifier>
          </dependency>

          在 Java 中將 DOC 轉換為 JPG

          您可以根據需要將 DOC/DOCX 轉換為 JPG、PNG、BMP、GIF 或 TIFF 圖像。要設置輸出圖像格式,使用SaveFormat枚舉。讓我們在 Java 中將 DOCX 文件轉換為 JPG。

          • 使用Document類加載 DOCX 文件。
          • 創建ImageSaveOptions類的實例并指定輸出圖像格式。
          • 循環瀏覽文檔中的頁面。
          • 使用Document.save(string, ImageSaveOptions)方法將 DOCX 中的每一頁轉換為 JPG 。

          以下代碼示例展示了如何在 Java 中將 DOCX 轉換為 JPG。

          // load document
          Document doc=new Document("calibre.docx");
          
          // set output image format using SaveFormat
          var options=new ImageSaveOptions(SaveFormat.JPEG);
          
          // loop through pages and convert them to JPG images
          for (int pageNumber=0; pageNumber < doc.getPageCount(); pageNumber++)
          {
          // Save page as JPG
          options.setPageSet(new PageSet(pageNumber));
          doc.save(pageNumber + "_page.jpg", options);
          }

          Java DOCX 到 JPG - 自定義

          您還可以使用不同的選項自定義 DOC 到 PNG 的轉換。例如,您可以設置水平分辨率、垂直分辨率、整體分辨率、比例、像素格式、亮度、顏色模式、對比度等。以下是在Java中自定義DOC到JPG的步驟。

          • 使用Document類加載 DOC 文件。
          • 創建ImageSaveOptions類的實例并指定輸出圖像格式。
          • 使用ImageSaveOptions對象設置所需的選項,例如亮度、對比度等。
          • 循環瀏覽文檔中的頁面。
          • 使用Document.save(string, ImageSaveOptions)方法將每個頁面轉換為 JPG 。

          以下代碼示例顯示了如何使用不同的選項自定義 Java DOC 到 JPG 的轉換。

          // load document
          Document doc=new Document("calibre.docx");
          
          // set output image format using SaveFormat
          var options=new ImageSaveOptions(SaveFormat.JPEG);
          
          // change the image's brightness and contrast
          // both are on a 0-1 scale and are at 0.5 by default
          options.setImageBrightness(0.30f);
          options.setImageContrast(0.7f);
          
          // change the horizontal resolution
          // the default value for these properties is 96.0, for a resolution of 96dpi
          options.setHorizontalResolution(72f);
          
          // loop through pages and convert them to JPG images
          for (int pageNumber=0; pageNumber < doc.getPageCount(); pageNumber++)
          {
          // Save page as JPG
          options.setPageSet(new PageSet(pageNumber));
          doc.save(pageNumber + "_page.jpg", options);
          }

          結論

          在本文中,您學習了如何在 Java 中將 Word DOC/DOCX 轉換為 JPG。此外,您還了解了如何使用不同的選項自定義 DOC 到 JPG 的轉換。除此之外,您可以使用文檔探索 Aspose.Words for Java 的其他功能,或私聊我們獲取相關內容。

          當今數字時代,多種類型的文檔扮演了我們日常工作和溝通的關鍵角色,其中包括電子郵件、文本文檔、演示文稿、電子書籍等等。然而,無論是哪種文檔類型,我們必須時刻考慮如何輕松地分享和傳送這些信息。問題是,文檔格式和文檔編輯器的種類各不相同,使傳輸和處理變得很麻煩。這時,文檔轉HTML的出現,極大地方便了我們的工作、學習和分享需求,下面小編就圍繞這個話題分享下個人看法~

          Aspose.Words for .NET官方最新版免費下載試用,歷史版本下載,在線文檔和幫助文件下載-慧都網

          什么是HTML、文檔轉HTML?

          HTML(超文本標記語言)是一種最基本的Web編程語言,其功能是將語言的學術概念轉化為計算機可理解的語言,使得用戶可以在瀏覽器中瀏覽和使用互聯網上的信息。而文檔轉HTML是指將各種文檔格式(如Microsoft Word、PDF、Markdown等)轉換為HTML(超文本標記語言)格式的過程。HTML是一種用于創建網頁內容的標記語言,它可以在各種設備和瀏覽器上顯示,并支持多種富文本樣式、鏈接、圖像和多媒體等元素。

          文檔轉HTML的好處

          HTML格式在web端應用非常廣泛,而且也容易進行二次開發,主要有以下幾點原因:

          1. 可在多種設備上顯示: HTML內容可以在各種設備上展示,包括計算機、平板電腦、手機等。
          2. 易于分享和發布: HTML是Web上最常見的內容格式,通過將文檔轉換為HTML,您可以輕松地在網站上發布內容,與他人共享,并通過鏈接進行傳播。
          3. 保留樣式和格式: 文檔轉HTML工具通常會盡量保留原始文檔的樣式、格式、表格、圖像等元素,使轉換后的HTML內容看起來與原始文檔類似。
          4. 可搜索和可編輯性: 轉換為HTML后的內容可以通過搜索引擎進行索引,使其更易于被搜索到。此外,HTML內容可以在支持的編輯器中進行編輯。

          文檔轉HTML的工作原理

          文檔轉HTML的工作原理通常涉及以下步驟:

          1. 解析文檔: 工具會解析輸入的文檔,了解其結構、內容和樣式。
          2. 轉換內容: 工具會將文檔中的文本、圖像、表格等內容轉換為HTML格式,同時盡可能保留原始樣式。
          3. 生成HTML: 轉換后的內容會被組合成HTML標記,形成可以在Web瀏覽器中顯示的頁面。
          4. 處理鏈接和媒體: 如果原始文檔包含鏈接、超鏈接、圖像或其他媒體元素,工具會適當地將它們轉換為HTML中的鏈接和媒體標簽。
          5. 輸出HTML文件: 最終,工具會生成一個包含轉換后HTML內容的文件,您可以將其在Web上發布或與他人分享。

          開發者如何選擇文檔轉HTML工具?

          目前市面上支持將文檔轉化成HTML的工具非常多,但轉換效率還是有明顯的差別,而且不同產品直接對于格式支持差異也比較大,因此開發者在選擇文檔轉HTML工具時,可以考慮以下因素:

          1. 支持的文檔格式: 確保工具支持您要轉換的文檔格式,如Word、PDF、Markdown等。
          2. 保留樣式和格式: 選擇能夠盡可能保留原始文檔樣式和格式的工具,以確保轉換后的HTML內容看起來與原始文檔相似。
          3. 用戶友好性: 選擇易于使用且具有直觀界面的工具,使您能夠輕松進行轉換操作。
          4. 批量轉換能力: 如果您需要批量轉換大量文檔,確保工具具有高效的批量轉換功能。
          5. 定制選項: 一些工具可能允許您自定義轉換設置,如調整樣式、布局等。

          有哪些不錯的控件推薦?

          E-iceblue和Aspose都是知名的文件處理組件供應商,提供了多個產品來實現文檔轉HTML功能, 這些產品在轉換上都很不錯,大家可以嘗試:

          1. Spire.Doc: 用于處理Word文檔,可以將Word文檔轉換為HTML。它支持保留文檔樣式、圖像、表格等。
          2. Aspose.Words: 提供了在多種編程語言中處理Word文檔的功能,可以將Word文檔轉換為HTML。它具有豐富的格式和樣式保留選項。
          3. Aspose.PDF: 用于處理PDF文檔,也可以將PDF文檔轉換為HTML。它支持保留文檔結構和樣式。
          4. Aspose.Slides: 用于處理幻燈片演示文稿,可以將幻燈片轉換為HTML,以便在Web上展示。

          E-iceblue和Aspose產品都具有廣泛的文件格式支持,可以處理多種文檔類型。它們在保留文檔樣式和格式方面都表現良好,可以生成質量較高的HTML內容。

          Aspose產品在業界有較長的歷史,被廣泛使用,擁有強大的技術支持和社區。這些產品提供了編程接口,使開發人員能夠將文檔轉HTML集成到自己的應用程序中。

          除此之外,也有一些很不錯的例如:Adobe Acrobat、Pandoc等,大家可以根據自己需求嘗試和選擇~

          spose系列的控件,功能都很強大,現在年終打折促銷,可以入手了。之前一直在我的Winform開發框架中用Aspose.Cell來做報表輸出,可以實現多樣化的報表設計及輸出,由于一般輸出的內容比較正規化或者多數是表格居多,所以一般使用Aspose.Cell來實現我想要的各種Excel報表輸出。雖然一直也知道Aspose.Word是用來生成Word文檔的,而且深信其也是一個很強大的控件,但一直沒用用到,所以就不是很熟悉。

          偶然一次機會,一個項目的報表功能指定需要導出為Word文檔,因此尋找了很多篇文章,不過多數介紹的比較簡單一點,于是也參考了官方的幫助介紹,終于滿足了客戶的需求。下面我由淺入深來介紹這個控件在實際業務中的使用過程吧。

          1、二維表格的Word操作

          日常中,常見的內容輸出就是二維表格的方式,表頭比較固定,內容每行一條,那么在實際的使用控件我們該如何操作呢,其實這個控件這方面介紹的文章很多,參考一下就能做出來了。其實介紹這個就是要說明書簽的重要性,這個在Aspose.Cell控件也是如此,書簽除了可以用來替換內容,還可以用來標記內容輸入的開始位置等等功能。

          首先我們在一個空白的Word文檔中繪制一個表格頭,然后再換行的開始插入一個標簽引用,插入書簽有兩種方式,一種是在Word(2007、2010)的【插入】-【書簽】中插入制定位置的書簽引用,如下所示。

          一種是在Word的自定義快速訪問工具欄上添加其他命令,如下步驟所示

          前者插入的書簽是沒有文字或者特別的標記,但是確實存在,后者會插入一個灰色塊作為占位符,如下所示,我這這個二維表格的例子里面使用后者進行測試(兩者同等效果的)

          這樣設計好Word模板后,下一步就是如何利用代碼生成二維表格了。首先這里提示一下,就是我故意設置了每個表格單元格的寬度不同,所以也就要求生成的行要和頭部對應,所以表格生成每行之前,肯定要獲得對應列的樣式屬性的,否則就會對應不上了。下面看代碼。

          代碼如下:

          try

          {

          Aspose.Words.Document doc=new Aspose.Words.Document(templateFile);

          Aspose.Words.DocumentBuilder builder=new Aspose.Words.DocumentBuilder(doc);

          DataTable nameList=DataTableHelper.CreateTable("編號,姓名,時間");

          DataRow row=null;

          for (int i=0; i < 50; i++)

          {

          row=nameList.NewRow;

          row["編號"]=i.ToString.PadLeft(4, '0');

          row["姓名"]="伍華聰 " + i.ToString;

          row["時間"]=DateTime.Now.ToString;

          nameList.Rows.Add(row);

          }

          List widthList=new List;

          for (int i=0; i < nameList.Columns.Count; i++)

          {

          builder.MoveToCell(0, 0, i, 0); //移動單元格

          double width=builder.CellFormat.Width;//獲取單元格寬度

          widthList.Add(width);

          }

          builder.MoveToBookmark("table"); //開始添加值

          for (var i=0; i < nameList.Rows.Count; i++)

          {

          for (var j=0; j < nameList.Columns.Count; j++)

          {

          builder.InsertCell;// 添加一個單元格

          builder.CellFormat.Borders.LineStyle=LineStyle.Single;

          builder.CellFormat.Borders.Color=System.Drawing.Color.Black;

          builder.CellFormat.Width=widthList[j];

          builder.CellFormat.VerticalMerge=Aspose.Words.Tables.CellMerge.None;

          builder.CellFormat.VerticalAlignment=CellVerticalAlignment.Center;//垂直居中對齊

          builder.ParagraphFormat.Alignment=ParagraphAlignment.Center;//水平居中對齊

          builder.Write(nameList.Rows[i][j].ToString);

          }

          builder.EndRow;

          }

          doc.Range.Bookmarks["table"].Text=""; // 清掉標示

          doc.Save(saveDocFile);

          if (MessageUtil.ShowYesNoAndTips("保存成功,是否打開文件?")==System.Windows.Forms.DialogResult.Yes)

          {

          System.Diagnostics.Process.Start(saveDocFile);

          catch (Exception ex)

          {

          LogHelper.Error(ex);

          MessageUtil.ShowError(ex.Message);

          return;

          }

          以上代碼的步驟就是 :

          1)創建Aspose.Words.Document 和 Aspose.Words.DocumentBuilder對象,然后生成數據的二維表格內容。

          2)遍歷模板表格,或者每一列的寬度,以備后用。

          3)移動到表格的書簽位置,然后開始錄入數據,Word表格的每個Cell都要求制定樣式和寬度,這樣才能和表格頭部吻合。

          4)保存文件內容到新的文件里面即可。

          輸出的效果如下所示:

          2、單元格合并的操作

          常見的Word文件或者Excel文件中,都經常看到合并單元格的內容,因此這個部分也是非常常見的操作,必須掌握。

          我們先看一個例子代碼及效果。

          builder.InsertCell;

          builder.CellFormat.VerticalMerge=CellMerge.First;

          builder.Write("Text in merged cells.");

          builder.CellFormat.VerticalMerge=CellMerge.None;

          builder.Write("Text in one cell");

          // This cell is vertically merged to the cell above and should be empty.

          builder.CellFormat.VerticalMerge=CellMerge.Previous;

          builder.Write("Text in another cell");

          效果如下:

          如果上面的例子還不夠明白,OK,我在介紹一個實際的例子,來說明合并單元格的操作模式。

          實際文檔生成如下所示:

          文檔的模板如下所示:

          其實這個里面的“測試”內容是使用代碼寫入的,其實就是一行業務數據,用兩行來展示,其中有些合并的單元格,這是一個實際項目的表格形式。我們注意到,每行有13個單元格,其中第一、第二、第十三列是合并列。和并列有一個特點,就是它的兩個索引都有效,不過只是能使用第一個索引來對它進行操作復制,利用第二個沒有用處的。

          如第一個列是和并列,它應該有0、13這樣的索引,第二列也是和并列,它也有1、14的索引,其他的類推。

          了解這樣的邏輯關系后,我們看實際操作的代碼如下所示。

          作者:伍華聰

          您可能還對以下文章感興趣:

          本站文章除注明轉載外,均為本站原創或翻譯


          主站蜘蛛池模板: 波多野结衣久久一区二区| 欧美成人aaa片一区国产精品| 亚洲一区二区三区夜色| 51视频国产精品一区二区| 日产一区日产2区| 精品日韩一区二区| 国产精品无码亚洲一区二区三区| 无码人妻品一区二区三区精99| 国产精品女同一区二区久久| 日韩一区二区三区不卡视频| 无码福利一区二区三区| 久久精品免费一区二区| 文中字幕一区二区三区视频播放| 日韩AV无码一区二区三区不卡毛片 | 国产suv精品一区二区33| 成人精品一区二区三区中文字幕 | 日韩精品区一区二区三VR| 国产精品无码一区二区在线观一| 国产精品久久久久一区二区| 人妻视频一区二区三区免费| 国产精品一区二区不卡| 午夜性色一区二区三区免费不卡视频| 无码人妻AⅤ一区二区三区| 亚洲av无码一区二区三区乱子伦| 国产成人精品无码一区二区| 亚洲日本va午夜中文字幕一区| 亚洲一区二区在线视频| 亚洲午夜在线一区| 无码一区二区三区AV免费| 韩国福利视频一区二区| 精彩视频一区二区| 不卡一区二区在线| 久久伊人精品一区二区三区| 日韩免费一区二区三区在线播放| 亚洲av色香蕉一区二区三区| 国产一区二区三区在线电影| 亚洲国产激情一区二区三区| 久久99国产精一区二区三区 | 国模丽丽啪啪一区二区| 亚洲无人区一区二区三区| 亚洲国产精品综合一区在线|