Skip to content

Latest commit

ย 

History

History
511 lines (388 loc) ยท 22.8 KB

File metadata and controls

511 lines (388 loc) ยท 22.8 KB
categories
Java Development
date 2025-12-31
description GroupDocs.Comparison for Java๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Java์—์„œ Excel ํŒŒ์ผ ๋ฐ ๊ธฐํƒ€ ๋ฌธ์„œ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” PDF ๋ฌธ์„œ ๋น„๊ต Java, ๋Œ€์šฉ๋Ÿ‰ ๋ฌธ์„œ ๋น„๊ต Java, ์•”ํ˜ธํ™”๋œ PDF ๋น„๊ต Java ์˜ˆ์ œ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
keywords java compare excel files, compare pdf documents java, java compare large documents, java compare encrypted pdf, GroupDocs.Comparison Java
lastmod 2025-12-31
linktitle Java Compare Excel Files Guide
tags
document-comparison
java-api
automation
groupdocs
title Document Comparison API๋ฅผ ์‚ฌ์šฉํ•œ Java Excel ํŒŒ์ผ ๋น„๊ต
type docs
url /ko/java/basic-comparison/mastering-document-comparison-java-groupdocs/
weight 1

Document Comparison API๋ฅผ ์‚ฌ์šฉํ•œ Java Excel ํŒŒ์ผ ๋น„๊ต

์†Œ๊ฐœ

๋ฌธ์„œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ผ์ผ์ด ๋น„๊ตํ•˜๋ฉฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ•œ ์ค„์”ฉ ์ฐพ์•„๋ณด๋А๋ผ ๋ช‡ ์‹œ๊ฐ„์„ ๋ณด๋‚ธ ์ ์ด ์žˆ๋‚˜์š”? ๊ณ„์•ฝ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ฑฐ๋‚˜ ์ฝ”๋“œ ๋ฌธ์„œ๋ฅผ ๊ฒ€ํ† ํ•˜๊ฑฐ๋‚˜ ์žฌ๋ฌด ๋ณด๊ณ ์„œ๋ฅผ ์œ„ํ•œ java compare excel files๋ฅผ ์ˆ˜ํ–‰ํ•˜๋“ , ์ˆ˜๋™ ๋ฌธ์„œ ๋น„๊ต๋Š” ์‹œ๊ฐ„๋„ ๋งŽ์ด ๊ฑธ๋ฆฌ๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

GroupDocs.Comparison for Java API๋Š” ์ •๋ฐ€ํ•œ ์ž๋™ ๋ฌธ์„œ ๋น„๊ต๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ์ง€ํ•˜๊ณ , ํ—ค๋”์™€ ํ‘ธํ„ฐ์™€ ๊ฐ™์€ ๊ด€๋ จ ์—†๋Š” ์„น์…˜์„ ๋ฌด์‹œํ•˜๋ฉฐ, ๊ฐ•์กฐ ์Šคํƒ€์ผ์„ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๊ณ , ์ „๋ฌธ์ ์ธ ๋น„๊ต ๋ณด๊ณ ์„œ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํฌ๊ด„์ ์ธ ๊ฐ€์ด๋“œ์—์„œ๋Š” ์ˆ˜๋™ ์ž‘์—… ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ์ ˆ๊ฐํ•˜๋ฉด์„œ ๋†“์น˜๋Š” ๋ถ€๋ถ„์ด ์—†๋„๋ก ๋ณด์žฅํ•˜๋Š” ๊ฒฌ๊ณ ํ•œ Java ๋ฌธ์„œ ๋น„๊ต API ์†”๋ฃจ์…˜ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์„ค์ •๋ถ€ํ„ฐ ์‹ค์ œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ์ž‘๋™ํ•˜๋Š” ๊ณ ๊ธ‰ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ธฐ์ˆ ๊นŒ์ง€ ๋ชจ๋‘ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๋น ๋ฅธ ๋‹ต๋ณ€

  • Can GroupDocs compare Excel files in Java? Yes, just load the .xlsx files with the Comparer class.
  • How to ignore headers/footers? Set setHeaderFootersComparison(false) in CompareOptions.
  • What about large PDFs? Increase JVM heap and enable memory optimization.
  • Can I compare passwordโ€‘protected PDFs? Provide the password when creating the Comparer.
  • Is there a way to change highlight colors? Use StyleSettings for inserted, deleted, and changed items.

java compare excel files๋ž€?

java compare excel files๋Š” Java ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋‘ ๊ฐœ์˜ Excel ์›Œํฌ๋ถ ๊ฐ„ ์ฐจ์ด๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ๊ฐ์ง€ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. GroupDocs.Comparison API๋Š” ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ ๋‚ด์šฉ์„ ์ฝ๊ณ  ์…€ ์ˆ˜์ค€์˜ ๋ณ€๊ฒฝ์„ ํ‰๊ฐ€ํ•˜์—ฌ ์ถ”๊ฐ€, ์‚ญ์ œ, ์ˆ˜์ •๋œ ๋‚ด์šฉ์„ ๊ฐ•์กฐํ•˜๋Š” ์ฐจ์ด ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Java ๋ฌธ์„œ ๋น„๊ต API๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ 

์ž๋™ํ™”์— ๋Œ€ํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์‚ฌ๋ก€

์ˆ˜๋™ ๋ฌธ์„œ ๋น„๊ต๋Š” ๋‹จ์ˆœํžˆ ๋ฒˆ๊ฑฐ๋กœ์šด ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ตฌ์— ๋”ฐ๋ฅด๋ฉด ์‚ฌ๋žŒ์ด ์ˆ˜๋™์œผ๋กœ ๋ฌธ์„œ๋ฅผ ๋น„๊ตํ•  ๋•Œ ์ค‘์š”ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ์•ฝ 20โ€ฏ%๋ฅผ ๋†“์นœ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋“ค์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹ ์†”๋ฃจ์…˜์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ณตํ†ต ๋ฌธ์ œ์ :

  • ์‹œ๊ฐ„ ์†Œ๋ชจ: ์‹œ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฃผ๋‹น 3โ€“4โ€ฏ์‹œ๊ฐ„์„ ๋ฌธ์„œ ๊ฒ€ํ† ์— ์‚ฌ์šฉ
  • ์ธ๊ฐ„ ์˜ค๋ฅ˜: ๋ฒ•๋ฅ  ๊ณ„์•ฝ์„œ๋‚˜ ๊ธฐ์ˆ  ์‚ฌ์–‘์„œ์—์„œ ์ค‘์š”ํ•œ ๋ณ€๊ฒฝ์„ ๋†“์นจ
  • ํ‘œ์ค€ํ™” ๋ถ€์กฑ: ํŒ€์›๋งˆ๋‹ค ๊ฐ•์กฐ ๋ฐฉ์‹์ด ๋‹ฌ๋ผ ์ผ๊ด€์„ฑ ๊ฒฐ์—ฌ
  • ๊ทœ๋ชจ ๋ฌธ์ œ: ์ˆ˜๋ฐฑ ๊ฐœ์˜ ๋ฌธ์„œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅ

API ์†”๋ฃจ์…˜ ์ œ๊ณต:

  • 99.9โ€ฏ% ์ •ํ™•๋„: ๋ฌธ์ž ์ˆ˜์ค€์˜ ๋ชจ๋“  ๋ณ€๊ฒฝ์„ ์ž๋™์œผ๋กœ ํฌ์ฐฉ
  • ์†๋„: 100โ€ฏํŽ˜์ด์ง€ ์ด์ƒ์˜ ๋ฌธ์„œ๋ฅผ 30โ€ฏ์ดˆ ์ด๋‚ด์— ๋น„๊ต
  • ์ผ๊ด€์„ฑ: ๋ชจ๋“  ๋น„๊ต์—์„œ ํ‘œ์ค€ํ™”๋œ ๊ฐ•์กฐ ๋ฐ ๋ณด๊ณ ์„œ ์ œ๊ณต
  • ํ†ตํ•ฉ: ๊ธฐ์กด Java ์›Œํฌํ”Œ๋กœ์™€ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์— ์›ํ™œํžˆ ์ ์šฉ

๋ฌธ์„œ ๋น„๊ต API๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ์‹œ์ 

์ด Java ๋ฌธ์„œ ๋น„๊ต API๋Š” ๋‹ค์Œ ์ƒํ™ฉ์—์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฒ•๋ฅ  ๋ฌธ์„œ ๊ฒ€ํ†  โ€“ ๊ณ„์•ฝ ๋ณ€๊ฒฝ ๋ฐ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ž๋™์œผ๋กœ ์ถ”์ 
  • ๊ธฐ์ˆ  ๋ฌธ์„œ โ€“ API ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ ๋ฐ ๋ณ€๊ฒฝ ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง
  • ์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ โ€“ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ, ๋งˆ์ผ€ํŒ… ์ž๋ฃŒ, ์‚ฌ์šฉ์ž ๋งค๋‰ด์–ผ ๋น„๊ต
  • ๊ทœ์ • ์ค€์ˆ˜ ๊ฐ์‚ฌ โ€“ ์ •์ฑ… ๋ฌธ์„œ๊ฐ€ ๊ทœ์ œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ํ™•์ธ
  • ๋ฒ„์ „ ๊ด€๋ฆฌ โ€“ Git๊ณผ ์—ฐ๋™ํ•ด ์ธ๊ฐ„์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์„œ ์ฐจ์ด ์ œ๊ณต

์ง€์› ํŒŒ์ผ ํ˜•์‹ ๋ฐ ๊ธฐ๋Šฅ

GroupDocs.Comparison for Java๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 50โ€ฏ๊ฐœ ์ด์ƒ์˜ ํŒŒ์ผ ํ˜•์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜•์‹:

  • ๋ฌธ์„œ: Word (DOCX, DOC), PDF, RTF, ODT
  • ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ: Excel (XLSX, XLS), CSV, ODS
  • ํ”„๋ ˆ์  ํ…Œ์ด์…˜: PowerPoint (PPTX, PPT), ODP
  • ํ…์ŠคํŠธ ํŒŒ์ผ: TXT, HTML, XML, MD
  • ์ด๋ฏธ์ง€: PNG, JPEG, BMP, GIF (์‹œ๊ฐ์  ๋น„๊ต)

๊ณ ๊ธ‰ ๊ธฐ๋Šฅ:

  • ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ๋ณดํ˜ธ๋œ ๋ฌธ์„œ ๋น„๊ต
  • ๋‹ค๊ตญ์–ด ํ…์ŠคํŠธ ๊ฐ์ง€ ๋ฐ ๋น„๊ต
  • ๋ฌธ์„œ ์œ ํ˜•๋ณ„ ๋งž์ถค ๋ฏผ๊ฐ๋„ ์„ค์ •
  • ๋‹ค์ค‘ ๋ฌธ์„œ ์Œ์— ๋Œ€ํ•œ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ
  • ํด๋ผ์šฐ๋“œ ๋ฐ ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ฐฐํฌ ์˜ต์…˜

์ „์ œ ์กฐ๊ฑด ๋ฐ ์„ค์ •

์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ

์ฝ”๋“œ ์ž‘์„ฑ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋‹ค์Œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

  1. Java Development Kit (JDK): ๋ฒ„์ „โ€ฏ8 ์ด์ƒ (JDKโ€ฏ11+ ๊ถŒ์žฅ)
  2. ๋นŒ๋“œ ๋„๊ตฌ: Mavenโ€ฏ3.6+ ๋˜๋Š” Gradleโ€ฏ6.0+
  3. ๋ฉ”๋ชจ๋ฆฌ: ๋Œ€์šฉ๋Ÿ‰ ๋ฌธ์„œ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์ตœ์†Œโ€ฏ4โ€ฏGB RAM
  4. ์Šคํ† ๋ฆฌ์ง€: ์ž„์‹œ ๋น„๊ต ํŒŒ์ผ์„ ์œ„ํ•œ 500โ€ฏMB ์ด์ƒ์˜ ์—ฌ์œ  ๊ณต๊ฐ„

Maven ๊ตฌ์„ฑ

pom.xml์— GroupDocs ์ €์žฅ์†Œ์™€ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ ๊ณต์‹ ๋ฆด๋ฆฌ์Šค ์ฑ„๋„์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜ค๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/comparison/java/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>25.2</version>
    </dependency>
</dependencies>

๋ผ์ด์„ ์Šค ์„ค์ •

๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ์šฉ:

  • ๋ฌด๋ฃŒ ์ฒดํ—˜: GroupDocs Downloads์—์„œ ๋‹ค์šด๋กœ๋“œ โ€“ ์›Œํ„ฐ๋งˆํฌ๊ฐ€ ํฌํ•จ๋œ ์ถœ๋ ฅ ์ œ๊ณต
  • ์ž„์‹œ ๋ผ์ด์„ ์Šค: GroupDocs Support๋ฅผ ํ†ตํ•ด 30์ผ ์ „์ฒด ์•ก์„ธ์Šค ํš๋“

ํ”„๋กœ๋•์…˜์šฉ:

  • ์ •์‹ ๋ผ์ด์„ ์Šค: ๋ฌด์ œํ•œ ์ƒ์—… ์‚ฌ์šฉ์„ ์œ„ํ•ด GroupDocs Purchase์—์„œ ๊ตฌ๋งค

๋ผ์ด์„ ์Šค ํŒŒ์ผ์„ ํ™•๋ณดํ•œ ํ›„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

// License initialization - do this once at application startup
com.groupdocs.comparison.License license = new com.groupdocs.comparison.License();
license.setLicense("path/to/your/license/file.lic");

ํŒ: ๋ผ์ด์„ ์Šค ํŒŒ์ผ์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ resources ํด๋”์— ์ €์žฅํ•˜๊ณ  getClass().getResourceAsStream()์„ ์‚ฌ์šฉํ•ด ๋กœ๋“œํ•˜๋ฉด ํ™˜๊ฒฝ ๊ฐ„ ์ด์‹์„ฑ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๊ตฌํ˜„ ๊ฐ€์ด๋“œ

๊ธฐ๋Šฅ 1: ํ—ค๋” ๋ฐ ํ‘ธํ„ฐ ๋น„๊ต ๋ฌด์‹œ

์™œ ์ค‘์š”ํ•œ๊ฐ€: ํ—ค๋”์™€ ํ‘ธํ„ฐ์—๋Š” ํƒ€์ž„์Šคํƒฌํ”„, ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ, ์ž‘์„ฑ์ž ์ •๋ณด ๋“ฑ ๋ฒ„์ „๋งˆ๋‹ค ๋‹ฌ๋ผ์ง€๋Š” ๋™์  ๋‚ด์šฉ์ด ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„ ์‹ค์ œ ๋‚ด์šฉ ๋น„๊ต์™€๋Š” ๋ฌด๊ด€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„น์…˜์„ ๋ฌด์‹œํ•˜๋ฉด ์žก์Œ์ด ์ค„์–ด๋“ค๊ณ  ์˜๋ฏธ ์žˆ๋Š” ๋ณ€๊ฒฝ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ ์‹œ๋‚˜๋ฆฌ์˜ค: ๊ณ„์•ฝ ๋ฒ„์ „์„ ๋น„๊ตํ•  ๋•Œ ๊ฐ ๊ฐœ์ •๋ณธ์— ์„œ๋กœ ๋‹ค๋ฅธ ๋‚ ์งœ๊ฐ€ ํ‘ธํ„ฐ์— ๋“ค์–ด๊ฐ€์ง€๋งŒ, ๋ณธ๋ฌธ ์กฐํ•ญ์˜ ๋ณ€๊ฒฝ๋งŒ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ.

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import java.io.FileOutputStream;

public class IgnoreHeaderFooterExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/IgnoreHeaderFooter_result.docx";

        try (OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_with_footer.docx")) {

            comparer.add("YOUR_DOCUMENT_DIRECTORY/target_with_footer.docx");

            // Set comparison options to ignore headers and footers
            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setHeaderFootersComparison(false)
                    .build();

            final Path resultPath = comparer.compare(resultStream, new SaveOptions(), compareOptions);
        }
    }
}

ํ•ต์‹ฌ ์ด์ :

  • ๊ฒฐ๊ณผ ์ •๋ฆฌ โ€“ ํฌ๋งท ์ฐจ์ด๊ฐ€ ์•„๋‹Œ ์‹ค์ œ ๋‚ด์šฉ ๋ณ€๊ฒฝ์— ์ง‘์ค‘
  • ์˜คํƒ ๊ฐ์†Œ โ€“ ๊ด€๋ จ ์—†๋Š” ๋ณ€๊ฒฝ ์•Œ๋ฆผ์„ ์ œ๊ฑฐ
  • ์„ฑ๋Šฅ ํ–ฅ์ƒ โ€“ ๋ถˆํ•„์š”ํ•œ ๋น„๊ต ์ž‘์—…์„ ๊ฑด๋„ˆ๋›ฐ์–ด ์ฒ˜๋ฆฌ ์†๋„ ๊ฐœ์„ 

๊ธฐ๋Šฅ 2: ์ „๋ฌธ ๋ณด๊ณ ์„œ๋ฅผ ์œ„ํ•œ ์ถœ๋ ฅ ์šฉ์ง€ ํฌ๊ธฐ ์„ค์ •

๋น„์ฆˆ๋‹ˆ์Šค ๋งฅ๋ฝ: ๋น„๊ต ๋ณด๊ณ ์„œ๋ฅผ ์ธ์‡„ํ•˜๊ฑฐ๋‚˜ PDF๋กœ ๋ฐฐํฌํ•  ๋•Œ ์šฉ์ง€ ํฌ๊ธฐ๋ฅผ ์ œ์–ดํ•˜๋ฉด ๋‹ค์–‘ํ•œ ๋ทฐ์–ด์™€ ์ธ์‡„ ํ™˜๊ฒฝ์—์„œ ์ผ๊ด€๋œ ๋ ˆ์ด์•„์›ƒ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์‚ฌ๋ก€: ๋ฒ•๋ฌดํŒ€์ด ๋ฒ•์› ์ œ์ถœ์šฉ ๋˜๋Š” ๊ณ ๊ฐ ํ”„๋ ˆ์  ํ…Œ์ด์…˜์šฉ์œผ๋กœ ํŠน์ • ํฌ๋งท์˜ ๋น„๊ต ๋ณด๊ณ ์„œ๋ฅผ ์š”๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ.

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import com.groupdocs.comparison.options.enums.PaperSize;

public class SetOutputPaperSizeExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/SetOutputPaperSize_result.docx";

        try (OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_word.docx")) {

            comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");

            // Set the paper size to A6
            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setPaperSize(PaperSize.A6)
                    .build();

            final Path resultPath = comparer.compare(resultStream, compareOptions);
        }
    }
}

์ง€์› ์šฉ์ง€ ํฌ๊ธฐ: A0โ€‘A10, Letter, Legal, Tabloid ๋ฐ ์‚ฌ์šฉ์ž ์ •์˜ ์น˜์ˆ˜. ๋ฐฐํฌ ์š”๊ตฌ์— ๋”ฐ๋ผ ์„ ํƒํ•˜์„ธ์š”โ€”์œ ๋Ÿฝ ๊ณ ๊ฐ์€ A4, ๋ฏธ๊ตญ ๊ธฐ๋ฐ˜ ํŒ€์€ Letter๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ 3: ๋น„๊ต ๋ฏผ๊ฐ๋„ ์„ธ๋ฐ€ ์กฐ์ •

๋„์ „ ๊ณผ์ œ: ๋ฌธ์„œ ์œ ํ˜•๋งˆ๋‹ค ํ•„์š”ํ•œ ๋ณ€๊ฒฝ ๊ฐ์ง€ ์ˆ˜์ค€์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋ฒ•๋ฅ  ๊ณ„์•ฝ์„œ๋Š” ๋ชจ๋“  ์‰ผํ‘œ๊นŒ์ง€ ๊ฐ์ง€ํ•ด์•ผ ํ•˜์ง€๋งŒ, ๋งˆ์ผ€ํŒ… ์ž๋ฃŒ๋Š” ํฐ ๋‚ด์šฉ ๋ณ€๊ฒฝ๋งŒ ์‹ ๊ฒฝ ์“ฐ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋ฏผ๊ฐ๋„ ์ž‘๋™ ๋ฐฉ์‹: 0โ€‘100 ๋ฒ”์œ„์˜ ์Šค์ผ€์ผ์ด๋ฉฐ ๊ฐ’์ด ๋†’์„์ˆ˜๋ก ๋” ์„ธ๋ฐ€ํ•œ ๋ณ€๊ฒฝ์„ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.

  • 0โ€‘25: ์ฃผ์š” ๋ณ€๊ฒฝ๋งŒ (๋‹จ๋ฝ ์ถ”๊ฐ€/์‚ญ์ œ)
  • 26โ€‘50: ์ค‘๊ฐ„ ์ˆ˜์ค€ ๋ณ€๊ฒฝ (๋ฌธ์žฅ ์ˆ˜์ •)
  • 51โ€‘75: ์ƒ์„ธ ๋ณ€๊ฒฝ (๋‹จ์–ด ์ˆ˜์ค€ ์ˆ˜์ •)
  • 76โ€‘100: ์•„์ฃผ ์„ธ๋ฐ€ํ•œ ๋ณ€๊ฒฝ (๋ฌธ์ž ์ˆ˜์ค€ ์ฐจ์ด)
import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;

public class AdjustComparisonSensitivityExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/AdjustComparisonSensitivity_result.docx";

        try (OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer("YOUR_DOCUMENT_DIRECTORY/source_word.docx")) {

            comparer.add("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");

            // Set sensitivity to 100 for maximum detail
            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setSensitivityOfComparison(100)
                    .build();

            final Path resultPath = comparer.compare(resultStream, compareOptions);
        }
    }
}

๋ฏผ๊ฐ๋„ ์„ค์ • ๋ชจ๋ฒ” ์‚ฌ๋ก€:

  • ๋ฒ•๋ฅ  ๋ฌธ์„œ: ํฌ๊ด„์ ์ธ ๊ฐ์ง€๋ฅผ ์œ„ํ•ด 90โ€‘100 ์‚ฌ์šฉ
  • ๋งˆ์ผ€ํŒ… ์ฝ˜ํ…์ธ : ์‹ค์งˆ์ ์ธ ์ˆ˜์ •์— ์ง‘์ค‘ํ•˜๋ ค๋ฉด 40โ€‘60 ์‚ฌ์šฉ
  • ๊ธฐ์ˆ  ์‚ฌ์–‘: ์ค‘์š”ํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๋†“์น˜์ง€ ์•Š์œผ๋ฉด์„œ ์‚ฌ์†Œํ•œ ํฌ๋งท ์ฐจ์ด๋Š” ๊ฑธ๋Ÿฌ๋‚ด๋ ค๋ฉด 70โ€‘80 ์‚ฌ์šฉ

๊ธฐ๋Šฅ 4: ์‹œ๊ฐ์  ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์„ ์œ„ํ•œ ๋ณ€๊ฒฝ ์Šคํƒ€์ผ ๋งž์ถค

์™œ ๋งž์ถค ์Šคํƒ€์ผ์ด ์ค‘์š”ํ•œ๊ฐ€: ๊ธฐ๋ณธ ๊ฐ•์กฐ ์ƒ‰์ƒ์ด ํŒ€์˜ ๊ฒ€ํ†  ํ‘œ์ค€์ด๋‚˜ ๊ธฐ์—… ๋ธŒ๋žœ๋”ฉ๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งž์ถค ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๋ฉด ๋ฌธ์„œ ๊ฐ€๋…์„ฑ์ด ๋†’์•„์ง€๊ณ  ์ดํ•ด๊ด€๊ณ„์ž๊ฐ€ ๋‹ค์–‘ํ•œ ๋ณ€๊ฒฝ ์œ ํ˜•์„ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ „๋ฌธ ์ ‘๊ทผ๋ฒ•: ์ƒ‰์ฑ„ ์‹ฌ๋ฆฌํ•™์„ ํ™œ์šฉํ•ด ์‚ญ์ œ๋Š” ๋นจ๊ฐ•(๊ธด๊ธ‰ํ•จ), ์ถ”๊ฐ€๋Š” ์ดˆ๋ก(๊ธ์ •์  ๋ณ€ํ™”), ์ˆ˜์ •์€ ํŒŒ๋ž‘(๊ฒ€ํ†  ํ•„์š”)์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

import com.groupdocs.comparison.Comparer;
import com.groupdocs.comparison.options.CompareOptions;
import com.groupdocs.comparison.options.save.SaveOptions;
import com.groupdocs.comparison.options.style.StyleSettings;

import java.awt.Color;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class CustomizeChangesStylesStreamExample {
    public static void main(String[] args) throws Exception {
        String outputFileName = "YOUR_OUTPUT_DIRECTORY/CustomizeChangesStylesStream_result.docx";

        try (InputStream sourceFile = new FileInputStream("YOUR_DOCUMENT_DIRECTORY/source_word.docx");
             InputStream targetFile = new FileInputStream("YOUR_DOCUMENT_DIRECTORY/target1_word.docx");
             OutputStream resultStream = new FileOutputStream(outputFileName);
             Comparer comparer = new Comparer(sourceFile)) {

            comparer.add(targetFile);

            // Customize change styles for professional appearance
            StyleSettings insertedStyle = new StyleSettings();
            insertedStyle.setHighlightColor(Color.GREEN); // Green for additions
            StyleSettings deletedStyle = new StyleSettings();
            deletedStyle.setHighlightColor(Color.RED); // Red for deletions
            StyleSettings changedStyle = new StyleSettings();
            changedStyle.setHighlightColor(Color.BLUE); // Blue for modifications

            CompareOptions compareOptions = new CompareOptions.Builder()
                    .setInsertedItemStyle(insertedStyle)
                    .setDeletedItemStyle(deletedStyle)
                    .setChangedItemStyle(changedStyle)
                    .build();

            final Path resultPath = comparer.compare(resultStream, compareOptions);
        }
    }
}

๊ณ ๊ธ‰ ์Šคํƒ€์ผ ์˜ต์…˜ (StyleSettings์—์„œ ์ œ๊ณต):

  • ๊ธ€๊ผด ๊ตต๊ธฐ, ํฌ๊ธฐ, ์ข…๋ฅ˜ ์ˆ˜์ •
  • ๋ฐฐ๊ฒฝ ์ƒ‰์ƒ ๋ฐ ํˆฌ๋ช…๋„ ์กฐ์ ˆ
  • ๋ณ€๊ฒฝ ์œ ํ˜•๋ณ„ ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ ์ง€์ •
  • ์‚ญ์ œ๋œ ๋‚ด์šฉ์— ๋Œ€ํ•œ ์ทจ์†Œ์„  ์˜ต์…˜

์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

๋Œ€์šฉ๋Ÿ‰ ๋ฌธ์„œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

๋ฌธ์ œ: 50โ€ฏMB ์ด์ƒ ๋ฌธ์„œ๋ฅผ ๋น„๊ตํ•  ๋•Œ OutOfMemoryError ๋ฐœ์ƒ
ํ•ด๊ฒฐ์ฑ…: JVM ํž™ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๊ณ  ์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐฉ์‹ ๊ตฌํ˜„

# Increase heap size for large document processing
java -Xmx4g -XX:MaxMetaspaceSize=512m YourComparisonApp

์ฝ”๋“œ ์ตœ์ ํ™”:

// Use streaming for memory efficiency
try (Comparer comparer = new Comparer(sourceStream)) {
    // Process in chunks for very large documents
    CompareOptions options = new CompareOptions.Builder()
            .setMemoryOptimization(true) // Enable memory optimization
            .build();
}

์†์ƒ๋˜๊ฑฐ๋‚˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ๋ณดํ˜ธ๋œ ํŒŒ์ผ ์ฒ˜๋ฆฌ

๋ฌธ์ œ: ์ž ๊ธด ๋ฌธ์„œ์—์„œ ๋น„๊ต๊ฐ€ ์‹คํŒจํ•จ
์˜ˆ๋ฐฉ ์ „๋žต:

// Check document accessibility before comparison
try {
    Comparer comparer = new Comparer(sourceFile, "password123");
    // Document loaded successfully, proceed with comparison
} catch (PasswordRequiredException ex) {
    // Handle passwordโ€‘protected documents
    log.error("Document requires password: " + sourceFile);
} catch (CorruptedFileException ex) {
    // Handle corrupted files gracefully
    log.error("File corruption detected: " + sourceFile);
}

๋ฐฐ์น˜ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ ์ตœ์ ํ™”

๋„์ „ ๊ณผ์ œ: 100๊ฐœ ์ด์ƒ์˜ ๋ฌธ์„œ ์Œ์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌ
ํ•ด๊ฒฐ์ฑ…: ์Šค๋ ˆ๋“œ ํ’€์„ ํ™œ์šฉํ•œ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๊ตฌํ˜„

ExecutorService executor = Executors.newFixedThreadPool(4);
List<Future<ComparisonResult>> futures = new ArrayList<>();

for (DocumentPair pair : documentPairs) {
    futures.add(executor.submit(() -> compareDocuments(pair)));
}

// Wait for all comparisons to complete
for (Future<ComparisonResult> future : futures) {
    ComparisonResult result = future.get();
    // Process results
}
executor.shutdown();

ํ˜•์‹๋ณ„ ์ด์Šˆ

PDF ๋น„๊ต ์‹œ ๋„์ „ ๊ณผ์ œ:

  • ์Šค์บ”๋œ PDF: ํ…์ŠคํŠธ ์ถ”์ถœ์„ ์œ„ํ•ด OCR ์ „์ฒ˜๋ฆฌ ํ•„์š”
  • ๋ณต์žกํ•œ ๋ ˆ์ด์•„์›ƒ: ๋ฏผ๊ฐ๋„ ์กฐ์ •์„ ์ˆ˜๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Œ
  • ๋‚ด์žฅ ํฐํŠธ: ํ™˜๊ฒฝ ๊ฐ„ ์ผ๊ด€๋œ ํฐํŠธ ๋ Œ๋”๋ง์„ ์œ„ํ•ด ํฐํŠธ ๊ด€๋ฆฌ ํ•„์š”

Word ๋ฌธ์„œ ์ด์Šˆ:

  • ๋ณ€๊ฒฝ ๋‚ด์šฉ ์ถ”์ : ๋น„๊ต ์ „์— ๊ธฐ์กด ํŠธ๋ž™ ์ฒด์ธ์ง€ ๋น„ํ™œ์„ฑํ™”
  • ๋‚ด์žฅ ๊ฐ์ฒด: ์ •ํ™•ํžˆ ๋น„๊ต๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋ณ„๋„ ์ถ”์ถœ ํ›„ ๋น„๊ต
  • ๋ฒ„์ „ ํ˜ธํ™˜์„ฑ: ๋‹ค์–‘ํ•œ Word ํฌ๋งท ๋ฒ„์ „์—์„œ ํ…Œ์ŠคํŠธ ํ•„์š”

๋ชจ๋ฒ” ์‚ฌ๋ก€ ๋ฐ ์„ฑ๋Šฅ ํŒ

1. ๋ฌธ์„œ ์‚ฌ์ „ ์ฒ˜๋ฆฌ

์ž…๋ ฅ ์ •๋ฆฌ: ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์™€ ๋ถˆํ•„์š”ํ•œ ํฌ๋งท์„ ์ œ๊ฑฐํ•˜๋ฉด ์ •ํ™•๋„์™€ ์†๋„๊ฐ€ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

// Example preprocessing workflow
public void preprocessDocument(String filePath) {
    // Remove comments and tracked changes
    // Standardize formatting
    // Extract textโ€‘only version for pure content comparison
}

2. ๋ฌธ์„œ ์œ ํ˜•๋ณ„ ์ตœ์  ๊ตฌ์„ฑ

๊ตฌ์„ฑ ํ”„๋กœํŒŒ์ผ:

public class ComparisonProfiles {
    public static CompareOptions getLegalDocumentProfile() {
        return new CompareOptions.Builder()
                .setSensitivityOfComparison(95)
                .setHeaderFootersComparison(false)
                .setShowRevisions(true)
                .build();
    }
    
    public static CompareOptions getMarketingContentProfile() {
        return new CompareOptions.Builder()
                .setSensitivityOfComparison(45)
                .setIgnoreFormatting(true)
                .setFocusOnContent(true)
                .build();
    }
}

3. ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋ฐ ๋กœ๊น…

๊ฒฌ๊ณ ํ•œ ์˜ค๋ฅ˜ ๊ด€๋ฆฌ:

public ComparisonResult safeCompareDocuments(String source, String target) {
    try {
        return performComparison(source, target);
    } catch (Exception ex) {
        logger.error("Comparison failed for {} vs {}: {}", source, target, ex.getMessage());
        return ComparisonResult.failure(ex.getMessage());
    }
}

4. ์บ์‹ฑ ๋ฐ ์„ฑ๋Šฅ ์ตœ์ ํ™”

์Šค๋งˆํŠธ ์บ์‹ฑ ๊ตฌํ˜„:

  • ๋™์ผ ํŒŒ์ผ ์Œ์— ๋Œ€ํ•œ ๋น„๊ต ๊ฒฐ๊ณผ๋ฅผ ์บ์‹œ
  • ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ํŒŒ์ผ์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์„œ ์ง€๋ฌธ ์ €์žฅ
  • ๋น„ํ•ต์‹ฌ ๋น„๊ต๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋กœ ์ „ํ™˜

์‹ค์ œ ํ†ตํ•ฉ ์‹œ๋‚˜๋ฆฌ์˜ค

์‹œ๋‚˜๋ฆฌ์˜ค 1: ์ž๋™ ๊ณ„์•ฝ ๊ฒ€ํ†  ํŒŒ์ดํ”„๋ผ์ธ

@Service
public class ContractReviewService {
    
    public void processContractRevision(String originalContract, String revisedContract) {
        CompareOptions legalOptions = ComparisonProfiles.getLegalDocumentProfile();
        
        try (Comparer comparer = new Comparer(originalContract)) {
            comparer.add(revisedContract);
            Path result = comparer.compare(generateOutputPath(), legalOptions);
            
            // Send comparison report to legal team
            emailService.sendComparisonReport(result, legalTeamEmails);
            
            // Log changes for audit trail
            auditService.logDocumentChanges(extractChanges(result));
        }
    }
}

์‹œ๋‚˜๋ฆฌ์˜ค 2: ์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ํ†ตํ•ฉ

@RestController
public class DocumentComparisonController {
    
    @PostMapping("/api/documents/compare")
    public ResponseEntity<ComparisonReport> compareDocuments(
            @RequestParam("source") MultipartFile source,
            @RequestParam("target") MultipartFile target,
            @RequestParam(value = "sensitivity", defaultValue = "75") int sensitivity) {
        
        CompareOptions options = new CompareOptions.Builder()
                .setSensitivityOfComparison(sensitivity)
                .build();
                
        ComparisonReport report = documentComparisonService.compare(source, target, options);
        return ResponseEntity.ok(report);
    }
}

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Q: GroupDocs for Java์—์„œ ๋น„๊ต ์‹œ ํ—ค๋”์™€ ํ‘ธํ„ฐ๋ฅผ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
A: ์˜ˆ, CompareOptions์—์„œ setHeaderFootersComparison(false)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ—ค๋”์— ํƒ€์ž„์Šคํƒฌํ”„์™€ ๊ฐ™์ด ํ•ต์‹ฌ ๋ณ€๊ฒฝ๊ณผ ๋ฌด๊ด€ํ•œ ๋™์  ๋‚ด์šฉ์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

Q: Java์—์„œ GroupDocs๋ฅผ ์‚ฌ์šฉํ•ด ์ถœ๋ ฅ ์šฉ์ง€ ํฌ๊ธฐ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?
A: CompareOptions์— setPaperSize(PaperSize.A6)์™€ ๊ฐ™์€ ์ƒ์ˆ˜๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ธ์‡„์šฉ ๋ณด๊ณ ์„œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ํฌ๊ธฐ์—๋Š” A0โ€‘A10, Letter, Legal, Tabloid ๋“ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

Q: ๋ฌธ์„œ ์œ ํ˜•๋ณ„๋กœ ๋น„๊ต ๋ฏผ๊ฐ๋„๋ฅผ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
A: ๋ฌผ๋ก ์ž…๋‹ˆ๋‹ค. setSensitivityOfComparison()์— 0โ€‘100 ์‚ฌ์ด ๊ฐ’์„ ์ง€์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋†’์€ ๊ฐ’์€ ๋” ์„ธ๋ฐ€ํ•œ ๋ณ€๊ฒฝ์„ ๊ฐ์ง€ํ•˜๋ฏ€๋กœ ๋ฒ•๋ฅ  ๋ฌธ์„œ์— ์ ํ•ฉํ•˜๊ณ , ๋‚ฎ์€ ๊ฐ’์€ ๋งˆ์ผ€ํŒ… ์ฝ˜ํ…์ธ ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Q: ์‚ฝ์ž…, ์‚ญ์ œ, ์ˆ˜์ •๋œ ํ…์ŠคํŠธ์˜ ์Šคํƒ€์ผ์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?
A: ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ณ€๊ฒฝ ์œ ํ˜•์— ๋Œ€ํ•ด ์‚ฌ์šฉ์ž ์ •์˜ StyleSettings๋ฅผ ๋งŒ๋“  ๋’ค CompareOptions์— ์ ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ฐ•์กฐ ์ƒ‰์ƒ, ๊ธ€๊ผด, ํ…Œ๋‘๋ฆฌ ๋“ฑ์„ ๋ธŒ๋žœ๋“œ์— ๋งž๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Q: GroupDocs Comparison์„ Java์—์„œ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ์–ด๋–ค ์ „์ œ ์กฐ๊ฑด์ด ํ•„์š”ํ•œ๊ฐ€์š”?
A: JDKโ€ฏ8 ์ด์ƒ (JDKโ€ฏ11+ ๊ถŒ์žฅ), Mavenโ€ฏ3.6+ ๋˜๋Š” Gradleโ€ฏ6.0+, ๋Œ€์šฉ๋Ÿ‰ ๋ฌธ์„œ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ตœ์†Œ 4โ€ฏGB RAM, ๊ทธ๋ฆฌ๊ณ  GroupDocs ๋ผ์ด์„ ์Šค(๋ฌด๋ฃŒ ์ฒดํ—˜ ๊ฐ€๋Šฅ)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ €์žฅ์†Œ์™€ ์˜์กด์„ฑ์„ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•œ ๋’ค ์‹œ์ž‘ ์‹œ ๋ผ์ด์„ ์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Q: GroupDocs.Comparison์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ ๋ณดํ˜ธ๋œ ๋ฌธ์„œ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋‚˜์š”?
A: Comparer๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค: new Comparer(sourceFile, "password123"). PasswordRequiredException์„ ์ ์ ˆํžˆ ์ฒ˜๋ฆฌํ•˜๋„๋ก tryโ€‘catch ๋ธ”๋ก์œผ๋กœ ๊ฐ์‹ธ์„ธ์š”.

Q: GroupDocs.Comparison for Java๊ฐ€ ์ง€์›ํ•˜๋Š” ํŒŒ์ผ ํ˜•์‹์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
A: Word (DOCX, DOC), PDF, Excel (XLSX, XLS), PowerPoint (PPTX, PPT), ํ…์ŠคํŠธ ํŒŒ์ผ (TXT, HTML, XML) ๋ฐ ์‹œ๊ฐ์  ๋น„๊ต๋ฅผ ์œ„ํ•œ ์ด๋ฏธ์ง€ (PNG, JPEG) ๋“ฑ 50๊ฐœ ์ด์ƒ์˜ ํ˜•์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. API๊ฐ€ ์ž๋™์œผ๋กœ ํ˜•์‹์„ ๊ฐ์ง€ํ•˜์ง€๋งŒ, ๋ฐฐ์น˜ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ํ˜•์‹์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.


Last Updated: 2025-12-31
Tested With: GroupDocs.Comparison 25.2 for Java
Author: GroupDocs