チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
PDF の注釈は、ユーザーがコメントをつけたり、テキストにマークをつけたりするのに役立ちます。レポートへのフィードバック、難しい言葉の説明、メモの作成など、PDF ファイルが関わるさまざまな場面で利用されています。ユーザーは、ポップアップ、テキストボックス、リンク、線の注釈など、PDF 文書に注釈の多くの種類を追加することができます。この記事では、Spire.PDF for Java を使用して、PDF 文書にポップアップとテキストボックスの注釈を追加する方法を説明します。
まず、Spire. PDF for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>9.1.4</version>
</dependency>
</dependencies>
ポップアップ形式の注釈は、PDF 文書内にボタンとして表示されます。PDF ページには注釈テキストは表示されませんが、PDF ビューアの注釈インターフェイスにのみ表示されます。PDF 文書にポップアップ注釈を追加する詳細な手順は、以下のとおりです。
import com.spire.pdf.*;
import com.spire.pdf.annotations.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.*;
import com.spire.pdf.general.find.PdfTextFind;
public class PDFPopUpAnnotation {
public static void main(String[] args) {
//PdfDocumentクラスのオブジェクトを作成する
PdfDocument pdf = new PdfDocument();
//PDFドキュメントの読み込み
pdf.loadFromFile("生まれてこのように.pdf");
//最初のページを取得する
PdfPageBase page = pdf.getPages().get(0);
//注釈を付けるテキストを検索する
PdfTextFind[] find = page.findText("成長学者").getFinds();
//PdfPopupAnnotationオブジェクトを作成し、注釈のテキストと位置を設定する
String text = "成長学者は子供の成長過程を探求し、まとめる研究者である。";
float a = (float)(find[0].getPosition().getX() + find[0].getSize().getWidth()-20);
float b = (float)(find[0].getPosition().getY() + find[0].getSize().getHeight());
Rectangle2D rectangle2D = new Rectangle.Float();
rectangle2D.setFrame(new Point2D.Double(a,b),new Dimension());
PdfPopupAnnotation annotation = new PdfPopupAnnotation(rectangle2D, text);
//注釈のスタイルと色を設定する
annotation.setIcon(PdfPopupIcon.Note);
annotation.setColor(new PdfRGBColor(Color.red));
//最初のページに注釈を追加する
page.getAnnotationsWidget().add(annotation);
//ドキュメントを保存する
pdf.saveToFile("ポップアップ注釈.pdf");
pdf.close();
}
}
テキストボックスの注釈は、フリーテキスト注釈とも呼ばれ、テキストボックスとテキストボックス内の注釈テキストで構成されています。 テキストボックスの注釈テキストは、ページ上のテキストボックスに直接表示されるだけでなく、PDF リーダーの「注釈」インターフェイスに表示されます。 PDF 文書で、テキストボックスの注釈を追加する手順は次のとおりです。
import com.spire.pdf.*;
import com.spire.pdf.annotations.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.*;
import com.spire.pdf.general.find.PdfTextFind;
public class PDFTextBoxAnnotation {
public static void main(String[] args) {
//PdfDocumentクラスのオブジェクトを作成する
PdfDocument doc = new PdfDocument();
//PDFファイルを読み込む
doc.loadFromFile("生まれてこのように.pdf");
//最初のページを取得する
PdfPageBase page = doc.getPages().get(0);
//注釈を付ける文章を検索する
PdfTextFind[] find = page.findText("成長学者").getFinds();
//PdfFreeTextAnnotationオブジェクトを作成し、注釈の位置を設定する
float x = (float)(find[0].getPosition().getX() + find[0].getSize().getWidth() - 20);
float y = (float)(find[0].getPosition().getY() + find[0].getSize().getHeight());
Rectangle2D.Float rect = new Rectangle2D.Float(x, y, 150, 30);
PdfFreeTextAnnotation textAnnotation = new PdfFreeTextAnnotation(rect);
//注釈のテキスト、フォント、フォント色、テキストボックスの書式を設定する
textAnnotation.setMarkupText("成長学者は子供の成長過程を探求し、まとめる研究者である。");
PdfCjkStandardFont font = new PdfCjkStandardFont(PdfCjkFontFamily.Heisei_Mincho_W_3, 12);
textAnnotation.setFont(font);
PdfAnnotationBorder border = new PdfAnnotationBorder(0.3f);
textAnnotation.setBorder(border);
textAnnotation.setBorderColor(new PdfRGBColor(Color.pink));
textAnnotation.setColor(new PdfRGBColor(Color.YELLOW));
textAnnotation.setOpacity(0.7f);
textAnnotation.setTextMarkupColor(new PdfRGBColor(Color.black));
//最初のページに注釈を追加する
page.getAnnotationsWidget().add(textAnnotation);
//ドキュメントを保存する
doc.saveToFile("テキストボックス注釈.pdf");
doc.close();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
PDF の画像の透かしは、ページに埋め込まれた固定ページ要素として PDF ページ上に表示される半透明の画像です。 画像透かしは簡単に消すことができないため、文書の著作権など文書所有者の権利を保護するためによく使われる。 大規模な組織では、文書の信頼性を高めるために画像透かしを使用しているところもあります。PDF 文書にこれらの組織のアイコンの透かしが入っていれば、読者は一目でどの組織が発行した文書かを知ることができる。 この記事では、Spire.PDF for Java を使用して、簡単なコードで PDF 文書に画像透かしを挿入する方法を説明します。
まず、Spire. PDF for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>9.1.4</version>
</dependency>
</dependencies>
単一の画像透かしを挿入する場合、通常、PDF ページの中央に挿入されます。 以下は、PDF 文書に単一の画像透かしを挿入するための詳細な手順です。
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImage;
public class insertSingleImageWatermark {
public static void main(String[] args) {
//PdfDocumentクラスのオブジェクトを作成する
PdfDocument pdf = new PdfDocument();
//PDFファイルを読み込む
pdf.loadFromFile("恐竜は物語である.pdf");
//画像を読み込む
PdfImage image = PdfImage.fromFile("ロゴ.png");
//画像の幅と高さを取得する 透かしを挿入するための初期座標を算出するために使用される
int imageWidth = image.getWidth();
int imageHeight = image.getHeight();
//全ページをループして透かしを挿入する
for (int i = 0; i < pdf.getPages().getCount(); i++) {
//ページを取得する
PdfPageBase page = pdf.getPages().get(i);
//ページの幅と高さを取得する 透かしを挿入するための初期座標を計算するために使用する
float pageWidth = (float) (page.getActualSize().getWidth());
float pageHeight = (float) (page.getActualSize().getHeight());
//透かし画像の透明度を設定する
page.getCanvas().setTransparency(0.3f);
//ページの中央に透かし画像を描画する
page.getCanvas().drawImage(image, pageWidth/2 - imageWidth/2, pageHeight/2 - imageHeight/2, imageWidth, imageHeight);
}
//文書を保存する
pdf.saveToFile("単一の画像の透かし.pdf");
}
}
タイル状の画像透かしは、同じ PDF のページ上に同じ透かし画像を複数回繰り返し表示する透かしです。 タイル型画像透かしの挿入では、透かし画像の繰り返し回数をカスタマイズすることができます。PDF 文書にタイル状の画像透かしを挿入する 操作手順の詳細は、以下のとおりです。
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfBrush;
import com.spire.pdf.graphics.PdfImage;
import com.spire.pdf.graphics.PdfTilingBrush;
import java.awt.*;
public class insertTiledImageWatermark {
public static void main(String[] args) {
//PdfDocumentクラスのオブジェクトを作成する
PdfDocument pdf = new PdfDocument();
//PDFファイルを読み込む
pdf.loadFromFile("恐竜は物語である.pdf");
//画像を読み込む
PdfImage image = PdfImage.fromFile("ロゴ.png");
//文書のページをループして透かしを挿入する
for (int i = 0; i < pdf.getPages().getCount(); i++ ) {
//ページを取得する
PdfPageBase page = pdf.getPages().get(i);
//カスタムメソッドを使用し、タイル状の画像透かしを挿入する
insertImageWatermark(page, image, 3, 3);
}
//文書を保存する
pdf.saveToFile("タイル状の画像の透かし.pdf");
}
static void insertImageWatermark(PdfPageBase page, PdfImage image, int row, int column) {
//タイル型ブラシを作成する
PdfTilingBrush brush = new PdfTilingBrush(new Dimension((int) (page.getActualSize().getWidth()/column), (int) (page.getActualSize().getHeight()/row)));
brush.getGraphics().setTransparency(0.3f);
brush.getGraphics().save();
brush.getGraphics().translateTransform(brush.getSize().getWidth()/2 - image.getWidth()/2, brush.getSize().getHeight()/2 - image.getHeight()/2);
//ブラシで画像を描く
brush.getGraphics().drawImage(image, 0, 0);
brush.getGraphics().restore();
//このタイル型ブラシを使用して、透かし画像を描く
page.getCanvas().drawRectangle(brush, new Rectangle(new Point(0, 0), new Dimension((int) (page.getActualSize().getWidth()), (int) (page.getActualSize().getHeight()))));
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
PowerPoint プレゼンテーションで重要な情報を強調したい場合は、明るい色でハイライトすることができます。これは、視聴者が重要な情報を迅速に取得するのにも役立ちます。この記事では、Spire.Presentation for Java を使用して PowerPoint 内のテキストをハイライトする方法を紹介します。
まず、Spire.Presentation for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.presentation</artifactId>
<version>8.1.2</version>
</dependency>
</dependencies>
Presentation のテキストをハイライトするには、まずスライドと各スライドの図形をループします。IAutoShape.getTextFrame().highLightText() メソッドを使用して、図形内の指定されたテキストを他の色でハイライトすることができます。以下に詳細な操作手順を示します。
import com.spire.presentation.*;
import java.awt.*;
public class HighlightTextInPPT {
public static void main(String []args) throws Exception {
//Presentationクラスのインスタンスを作成する
Presentation presentation = new Presentation();
//PowerPointファイルをロードする
presentation.loadFromFile("Input.pptx");
//すべてのスライドをループする
for (int i = 0; i < presentation.getSlides().getCount(); i++)
{
//現在のスライドを取得する
ISlide slide = presentation.getSlides().get(i);
//スライドの図形をループする
for (int j = 0; j < slide.getShapes().getCount(); j++)
{
//現在の図形がIAutoShapeタイプであることを確認する
if (slide.getShapes().get(j) instanceof IAutoShape)
{
//図形をIAutoShapeに変換する
IAutoShape shape = (IAutoShape)slide.getShapes().get(j);
//TextHighLightingOptionsクラスのインスタンスを作成する
TextHighLightingOptions options = new TextHighLightingOptions();
//テキストのハイライトオプションを設定する
options.setCaseSensitive(true);
options.setWholeWordsOnly(true);
//図形内の特定のテキストをハイライトする
shape.getTextFrame().highLightText("Spire.Presentation", Color.YELLOW, options);
}
}
}
//結果ファイルを保存する
presentation.saveToFile("HighlightText.pptx", FileFormat.PPTX_2013);
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Spire.Doc for Java 11.2.3のリリースを発表できることを嬉しく思います。今回の更新では、コンテンツコントロールのsdtAppearanceプロパティの設定がサポートされました。また、WordからPDFへの変換機能が強化されました。また、このリリースでは、TableOfContentsの更新時にアプリケーションが「Unknown Source」をスローした問題を修正するなど、多くの既知の問題が修正されました。詳細は以下の内容を読んでください。
カテゴリー | ID | 説明 |
New feature | SPIREDOC-8665 SPIREDOC-8960 |
コンテンツコントロールのsdtAppearanceプロパティの設定がサポートされました。
Document doc = ConvertUnit.GetNewEngineDocument(); doc.loadFromFile(inputFile); for (Object docObj : doc.getSections().get(0).getBody().getChildObjects()) { if (docObj instanceof StructureDocumentTag) { DocumentObject Obj = (DocumentObject)docObj; SDTProperties sdtProperties = ((StructureDocumentTag)Obj).getSDTProperties(); switch (sdtProperties.getSDTType()) { case Text: sdtProperties.setAppearance(SdtAppearance.Hidden); break; case Rich_Text: sdtProperties.setAppearance(SdtAppearance.BoundingBox); break; case Picture: sdtProperties.setAppearance(SdtAppearance.Tags); break; case Check_Box: sdtProperties.setAppearance(SdtAppearance.Default); break; } } } doc.saveToFile(outputFile, FileFormat.Docx); doc.dispose(); |
Bug | SPIREDOC-4055 | TableOfContentsの更新時にアプリケーションが「Unknown Source」をスローした問題が修正されました。 |
Bug | SPIREDOC-8658 | フィールドの更新時にアプリケーションが「Object reference not set to an instance of an object」をスローした問題が修正されました。 |
Bug | SPIREDOC-8759 | PDFへの変換時にアプリケーションが「NullPointerException」をスローした問題が修正されました。 |
Bug | SPIREDOC-8765 SPIREDOC-8879 |
WordをHTMLに変換する際にアプリケーションが「RasterFormatException」をスローした問題が修正されました。 |
Bug | SPIREDOC-8854 | プライベートフォントを埋め込むと、一部のコンテンツが正しく表示されなくなる問題が修正されました。 |
Bug | SPIREDOC-8857 SPIREDOC-8893 |
修正を受けた出力効果が正しくない問題が修正されました。 |
Bug | SPIREDOC-8895 | 既存の保護パスワードを上書きできない問題が修正されました。 |
Bug | SPIREDOC-8912 | MS Wordが保存したWordファイルを開く際にエラーが発生した問題が修正されました。 |
Bug | SPIREDOC-8925 | XMLファイルのロード時にアプリケーションが「NullPointerException」をスローした問題が修正されました。 |
Bug | SPIREDOC-8954 | WordをPDFに変換した後のコンテンツフォーマットが正しくない問題が修正されました。 |
Bug | SPIREDOC-8983 | VerticalAlignmentをピクチャに設定する際にアプリケーションが「IllegalArgumentException」をスローした問題が修正されました。 |
PowerPoint プレゼンテーションを作成する際には、いかにスライドを読みやすくするかは非常に重要です。最も一般的な方法の1つは、テキストを番号付き、箇条書きリストとしてフォーマットすることです。この方法は、簡潔で明瞭な方法で情報を表現することができ、読者の注意を引くことができます。この記事では、Spire.Presentation for Java を使用して PowerPoint で番号付きと箇条書きリストを作成する方法を紹介します。
まず、Spire.Presentation for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.presentation</artifactId>
<version>8.1.2</version>
</dependency>
</dependencies>
Spire.Presentation では、番号付き、箇条書きリストを作成するために段落の前に数字や行頭記号を追加できます。ParagraphEx.setBulletType() メソッドを使用して、行頭文字のタイプを指定できます。以下は具体的な操作手順です。
import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;
import java.awt.*;
import java.awt.geom.Rectangle2D;
public class CreateNumberedList {
public static void main(String[] args) throws Exception {
//Presentationオブジェクトを作成する
Presentation presentation = new Presentation();
presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);
//最初のスライドを取得する
ISlide slide = presentation.getSlides().get(0);
//スライドに図形を追加し、図形のスタイルを設定する
Rectangle2D rect = new Rectangle2D.Double(50, 50, 300, 200);
IAutoShape shape = slide.getShapes().appendShape(ShapeType.RECTANGLE, rect);
shape.getLine().setFillType(FillFormatType.NONE);
shape.getFill().setFillType(FillFormatType.NONE);
//デフォルト段落にテキストを追加する
ParagraphEx titleParagraph = shape.getTextFrame().getParagraphs().get(0);
titleParagraph.setText("スキル:");
titleParagraph.getTextRanges().get(0).getFill().setFillType(FillFormatType.SOLID);
titleParagraph.getTextRanges().get(0).getFill().getSolidColor().setColor(Color.black);
titleParagraph.setAlignment(TextAlignmentType.LEFT);
//リスト内容を指定する
String[] listContent = new String[] {
" Command-line Unix",
" Vim",
" HTML",
" CSS",
" Python",
" JavaScript",
" SQL"
};
//番号付きリストを作成する
for(int i = 0; i < listContent.length; i ++)
{
ParagraphEx paragraph = new ParagraphEx();
shape.getTextFrame().getParagraphs().append(paragraph);
paragraph.setText(listContent[i]);
paragraph.getTextRanges().get(0).getFill().setFillType(FillFormatType.SOLID);
paragraph.getTextRanges().get(0).getFill().getSolidColor().setColor(Color.black);
paragraph.setBulletType(TextBulletType.NUMBERED);
paragraph.setBulletStyle(NumberedBulletStyle.BULLET_ARABIC_PERIOD);
}
//ドキュメントをPowerPointに保存する
presentation.saveToFile("NumberedList.pptx", FileFormat.PPTX_2013);
}
}
記号の箇条書きリストを作成する方法は、番号付きリストを作成する方法とよく似ています。行頭文字のタイプを SYMBOL に設定するだけです。以下に詳細な操作手順を示します。
import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;
import java.awt.*;
import java.awt.geom.Rectangle2D;
public class CreateBulletedListWithSymbol {
public static void main(String[] args) throws Exception {
//Presentationオブジェクトを作成する
Presentation presentation = new Presentation();
presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);
//最初のスライドを取得する
ISlide slide = presentation.getSlides().get(0);
//スライドに図形を追加し、図形のスタイルを設定する
Rectangle2D rect = new Rectangle2D.Double(50, 50, 350, 200);
IAutoShape shape = slide.getShapes().appendShape(ShapeType.RECTANGLE, rect);
shape.getLine().setFillType(FillFormatType.NONE);
shape.getFill().setFillType(FillFormatType.NONE);
//デフォルト段落にテキストを追加する
ParagraphEx titleParagraph = shape.getTextFrame().getParagraphs().get(0);
titleParagraph.setText("スキル:");
titleParagraph.getTextRanges().get(0).getFill().setFillType(FillFormatType.SOLID);
titleParagraph.getTextRanges().get(0).getFill().getSolidColor().setColor(Color.black);
titleParagraph.setAlignment(TextAlignmentType.LEFT);
//リスト内容を指定する
String[] listContent = new String[] {
" Command-line Unix",
" Vim",
" HTML",
" CSS",
" Python",
" JavaScript",
" SQL"
};
//記号の箇条書きリストを作成する
for(int i = 0; i < listContent.length; i ++)
{
ParagraphEx paragraph = new ParagraphEx();
shape.getTextFrame().getParagraphs().append(paragraph);
paragraph.setText(listContent[i]);
paragraph.getTextRanges().get(0).getFill().setFillType(FillFormatType.SOLID);
paragraph.getTextRanges().get(0).getFill().getSolidColor().setColor(Color.black);
paragraph.setBulletType(TextBulletType.SYMBOL);
}
//ドキュメントをPowerPointに保存する
presentation.saveToFile("SymbolBullets.pptx", FileFormat.PPTX_2013);
}
}
画像を行頭文字として使用するには、行頭文字のタイプを PICTURE に設定し、画像を BulletPicture オブジェクトに指定します。以下に詳細な操作手順を示します。
import com.spire.presentation.*;
import com.spire.presentation.drawing.FillFormatType;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.File;
public class CreateBulletedListWithImage {
public static void main(String[] args) throws Exception {
//Presentationオブジェクトを作成する
Presentation presentation = new Presentation();
presentation.getSlideSize().setType(SlideSizeType.SCREEN_16_X_9);
//最初のスライドを取得する
ISlide slide = presentation.getSlides().get(0);
//スライドに図形を追加し、図形のスタイルを設定する
Rectangle2D rect = new Rectangle2D.Double(50, 50, 400, 180);
IAutoShape shape = slide.getShapes().appendShape(ShapeType.RECTANGLE, rect);
shape.getLine().setFillType(FillFormatType.NONE);
shape.getFill().setFillType(FillFormatType.NONE);
//デフォルト段落にテキストを追加する
ParagraphEx titleParagraph = shape.getTextFrame().getParagraphs().get(0);
titleParagraph.setText("To-Do List:");
titleParagraph.getTextRanges().get(0).getFill().setFillType(FillFormatType.SOLID);
titleParagraph.getTextRanges().get(0).getFill().getSolidColor().setColor(Color.black);
titleParagraph.setAlignment(TextAlignmentType.LEFT);
//リスト内容を指定する
String[] listContent = new String[] {
" プロジェクトとタスクの定義",
" タスクに人を割り当てる",
" タスクの優先度の定義",
" タスクの進捗状況の追跡",
" 仕事のまとめ"
};
//画像の箇条書きリストを作成する
BufferedImage image = ImageIO.read(new File("image.jpg"));
for(int i = 0; i < listContent.length; i ++)
{
ParagraphEx paragraph = new ParagraphEx();
shape.getTextFrame().getParagraphs().append(paragraph);
paragraph.setText(listContent[i]);
paragraph.getTextRanges().get(0).getFill().setFillType(FillFormatType.SOLID);
paragraph.getTextRanges().get(0).getFill().getSolidColor().setColor(Color.black);
paragraph.setBulletType(TextBulletType.PICTURE);
paragraph.getBulletPicture().setEmbedImage(presentation.getImages().append(image));
}
//ドキュメントをPowerPointに保存する
presentation.saveToFile("ImageBullets.pptx", FileFormat.PPTX_2013);
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
プレゼンテーションに商標、著作権、その他の記号を追加するときに、その記号を特定のテキストより少し上または下にしたい場合があります。Microsoft PowerPoint では、記号に上付き文字または下付き文字のフォーマットを適用することで、この効果を実現することができます。この記事では、Spire.Presentation for Java を使用して PowerPoint に上付き文字と下付き文字を追加する方法を紹介します。
まず、Spire.Presentation for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.presentation</artifactId>
<version>8.1.2</version>
</dependency>
</dependencies>
Spire.Presentation for Java が提供する PortionEx.getFormat().setScriptDistance(float value) メソッドは、テキストに上付き文字と下付き文字のフォーマットを適用することがサポートします。この値は正または負の値に設定できます。正の値が大きいほど、上付き文字がテキストの上に表示されます。負の値が小さいほど、テキストの下に下付き文字が表示されます。以下に詳細な操作手順を示します。
import com.spire.presentation.*;
import com.spire.presentation.drawing.*;
import java.awt.*;
public class AddSuperscriptAndSubscript {
public static void main(String []args) throws Exception {
//PowerPointドキュメントをロードする
Presentation presentation = new Presentation();
presentation.loadFromFile("sample.pptx");
//最初のスライドを取得する
ISlide slide = presentation.getSlides().get(0);
//スライドに図形を追加する
IAutoShape shape = slide.getShapes().appendShape(ShapeType.RECTANGLE, new Rectangle(150, 100, 200, 50));
shape.getFill().setFillType(FillFormatType.NONE);
shape.getShapeStyle().getLineColor().setColor(Color.white);
//図形のテキストフレームにアクセスする
ITextFrameProperties textFrame = shape.getTextFrame();
//テキストフレームのデフォルト段落を取り除きする
textFrame.getParagraphs().clear();
//標準テキストの段落を作成する
ParagraphEx para = new ParagraphEx();
para.setText("E=mc");
//上付きテキストのポーションを作成する
PortionEx tr = new PortionEx("2");
tr.getFormat().setScriptDistance(40);
//そのポーションを段落に付加する
para.getTextRanges().append(tr);
para.getTextRanges().append(new PortionEx("\n"));
//標準テキストの色、フォント、フォントサイズを設定する
tr = para.getTextRanges().get(0);
tr.getFill().setFillType(FillFormatType.SOLID);
tr.getFill().getSolidColor().setColor(new Color(128,0,128));
tr.setFontHeight(20);
tr.setLatinFont(new TextFont("Arial"));
//上付きテキストの色とフォントを設定する
tr = para.getTextRanges().get(1);
tr.getFill().setFillType(FillFormatType.SOLID);
tr.getFill().getSolidColor().setColor(Color.BLUE);
tr.setLatinFont(new TextFont("Arial"));
//図形のテキストフレームに段落を付加する
textFrame.getParagraphs().append(para);
//標準テキストの段落を作成する
para = new ParagraphEx();
para.setText("X");
//下付きテキストのポーションを作成する
tr = new PortionEx("100");
tr.getFormat().setScriptDistance(-25);
//そのポーションを段落に付加する
para.getTextRanges().append(tr);
//標準テキストの色、フォント、フォントサイズを設定する
tr = para.getTextRanges().get(0);
tr.getFill().setFillType(FillFormatType.SOLID);
tr.getFill().getSolidColor().setColor(new Color(128,0,128));
tr.setFontHeight(20);
tr.setLatinFont(new TextFont("Arial"));
//下付きテキストの色とフォントを設定する
tr = para.getTextRanges().get(1);
tr.getFill().setFillType(FillFormatType.SOLID);
tr.getFill().getSolidColor().setColor(Color.BLUE);
tr.setLatinFont(new TextFont("Arial"));
//図形のテキストフレームに段落をアタッチする
textFrame.getParagraphs().append(para);
//結果ドキュメントを保存する
presentation.saveToFile("AddSuperscriptAndSubscript.pptx", FileFormat.PPTX_2013);
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Spire.Presentation8.2.0のリリースを発表できることをうれしく思います。このリリースでは、PPTを画像に変換すると、アプリケーション終了後にメモリが解放されない問題を修正しました。詳細は以下の内容を読んでください。
カテゴリー | ID | 説明 |
Bug | SPIREPPT-2153 | PPTを画像に変換すると、アプリケーション終了後にメモリが解放されない問題を修正しました。 |
文字の透かしは、PDF ページ上に半透明で表示される書式付きテキストで構成される電子マークです。著作権、著者、会社、その他の文書属性を表示するために使用されることがよくあります。注釈やスタンプとは異なり、文字の透かしは PDF 文書に組み込まれるため、簡単に削除することはできません。そのため、文書の著作権や所有権を保護するためにも使用されます。この記事では、Spire.PDF for Java を使用して PDF 文書に透かし文字を挿入する方法について説明します。
まず、Spire. PDF for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>9.1.4</version>
</dependency>
</dependencies>
単一の文字透かしは、PDF ページの中央に1回だけ表示される文字透かしです。Spire.PDF for Java を使用して PDF 文書に単一テキストの透かしを挿入する手順は、以下の通りです。
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
public class insertSingleTextWaterMark {
public static void main(String[] args) {
//PdfDocumentクラスのオブジェクトを作成する
PdfDocument pdf = new PdfDocument();
//PDFファイルを読み込む
pdf.loadFromFile("恐竜は物語である.pdf");
//ページをループして透かしを挿入する
String text = "サンプル";
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Yu Mincho", Font.BOLD, 50));
float set1 = (float) (font.measureString(text).getWidth() * Math.sqrt(2)/4);
float set2 = (float) (font.measureString(text).getHeight() * Math.sqrt(2)/4);
for (int i = 0; i < pdf.getPages().getCount(); i++){
//ページを取得する
PdfPageBase page = pdf.getPages().get(i);
//透かし文字の透明度を設定する
page.getCanvas().setTransparency(0.8f);
//座標の移動量を設定する
page.getCanvas().translateTransform(page.getCanvas().getSize().getWidth()/2 - set1 - set2, page.getCanvas().getSize().getHeight()/2 + set1 - set2);
//透かし文字の回転角度を設定する
page.getCanvas().rotateTransform(-45);
//ページ上に透かしを描画する
page.getCanvas().drawString(text, font, PdfBrushes.getDarkGray(), 0, 0);
}
//ファイルを保存する
pdf.saveToFile("単一の文字透かし.pdf");
}
}
タイル型透かしは、1ページに複数回表示される透かしです。これらは、文書の著作権や所有権を保護するために多く使用されています。私たちは、Spire.PDF for Java のクラスとメソッドに基づいてカスタムのメソッド insertTextWatermark() を作成し、PDF文書にタイル状の文字透かしを挿入することができます。詳細な手順は次のとおりです。
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
public class insertTiledTextWatermark {
public static void main(String[] args) {
//PdfDocumentクラスのオブジェクトを作成する
PdfDocument pdf = new PdfDocument();
//PDFファイルを読み込む
pdf.loadFromFile("恐竜は物語である.pdf");
//ページをループして透かしを挿入する
PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Yu Mincho", Font.BOLD, 20));
for (int i = 0; i < pdf.getPages().getCount(); i++){
PdfPageBase pageBase = pdf.getPages().get(i);
insertTextWatermark(pageBase, font, "部外秘", 3, 3);
}
//ファイルを保存する
pdf.saveToFile("タイル状の文字透かし.pdf");
}
static void insertTextWatermark(PdfPageBase page, PdfTrueTypeFont font, String watermark, int row, int column) {
//座標の移動を計算する際に使用する2つのオフセット変数の値を計算する
float set1 = (float)(font.measureString(watermark).getWidth() * Math.sqrt(2)/4);
float set2 = (float)(font.measureString(watermark).getHeight() * Math.sqrt(2)/4);
//タイリングブラシを作成する
PdfTilingBrush brush = new PdfTilingBrush(new Dimension((int) (page.getActualSize().getWidth()/column), (int) (page.getActualSize().getHeight()/row)));
brush.getGraphics().setTransparency(0.3f);
brush.getGraphics().save();
brush.getGraphics().translateTransform(brush.getSize().getWidth()/2 - set1 - set2, brush.getSize().getHeight()/2 + set1 - set2);
brush.getGraphics().rotateTransform(-45);
//タイリングブラシに透かしテキストを描画する
brush.getGraphics().drawString(watermark, font, PdfBrushes.getViolet(), 0, 0);
brush.getGraphics().restore();
//このタイリングブラシを使って透かしを描く
page.getCanvas().drawRectangle(brush, new Rectangle(new Point(0, 0), new Dimension((int)(page.getActualSize().getWidth()), (int)(page.getActualSize().getHeight()))));
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Spire.PDF 9.2.2のリリースを発表できることを嬉しく思います。このバージョンでは、圧縮タイプの設定をサポートするためにTextCompressionOptionsを追加しました。PdfSeparationColorのカラースペースをRGBに設定することがサポートしました。また、今回の更新では、PDFからExcelや画像、XPSからPDFへの変換機能が強化されました。詳細は以下の内容を読んでください。
カテゴリー | ID | 説明 |
New feature | SPIREPDF-5132 | PdfSeparationColorのカラースペースをRGBに設定することがサポートしました。
PdfDocument pdf = new PdfDocument(); PdfPageBase page = pdf.Pages.Add(); PdfRGBColor c = Color.Purple; //color space RGB PdfSeparationColorSpace cs = new PdfSeparationColorSpace("MySpotColor", new PdfRGBColor(c.R, c.G, c.B)); //color space CMYK PdfSeparationColorSpace cs = new PdfSeparationColorSpace("MySpotColor", new PdfRGBColor(c.C, c.M, c.Y, c.K)); //color space Grayscale PdfSeparationColorSpace cs = new PdfSeparationColorSpace("MySpotColor", new PdfRGBColor(c.Gray)); PdfSeparationColor color = new PdfSeparationColor(cs, 1f); PdfSolidBrush brush = new PdfSolidBrush(color); page.Canvas.DrawPie(brush, 10, 30, 60, 60, 360, 360); page.Canvas.DrawString("Tint=1.0", new PdfFont(PdfFontFamily.Helvetica, 10f), brush, new PointF(22, 100)); color = new PdfSeparationColor(cs, 0.5f); brush = new PdfSolidBrush(color); page.Canvas.DrawPie(brush, 80, 30, 60, 60, 360, 360); page.Canvas.DrawString("Tint=0.5", new PdfFont(PdfFontFamily.Helvetica, 10f), brush, new PointF(92, 100)); color = new PdfSeparationColor(cs, 0.25f); brush = new PdfSolidBrush(color); page.Canvas.DrawPie(brush, 150, 30, 60, 60, 360, 360); page.Canvas.DrawString("Tint=0.25", new PdfFont(PdfFontFamily.Helvetica, 10f), brush, new PointF(162, 100)); pdf.SaveToFile("SpotColorrgb.pdf"); |
New feature | SPIREPDF-5705 | 圧縮タイプの設定をサポートするためにTextCompressionOptionsを追加しました。
PdfCompressor compressor = new PdfCompressor(fileName); compressor.Options.TextCompressionOptions.UnembedFonts = true; compressor.CompressToFIle(outputName); |
Bug | SPIREPDF-5386 | PDFからExcelへの変換にかかる時間を最適化しました。 |
Bug | SPIREPDF-5511 | テキストコメント追加した後に、WPSで表示されない問題が修正されました。 |
Bug | SPIREPDF-5659 | 同じ内容の2つのページを画像に変換するのに要する時間の差が大きい問題が修正されました。 |
Bug | SPIREPDF-5660 | XPSをPDFに変換した後に、表示されない線が表示されるようになった問題が修正されました。 |
Bug | SPIREPDF-5677 | PDFから抽出されたテキストフォーマットが正しくない問題が修正されました。 |
Bug | SPIREPDF-5697 | ブックマークの取得場所が正しくない問題が修正されました。 |
Bug | SPIREPDF-5700 | PDFを画像に変換する際にアプリケーションが「ArgumentException」とスローしていた問題が修正されました。 |
Bug | SPIREPDF-5726 | 背景色のテキストボックスのコメントが追加された後、ブラウザに表示できない問題が修正されました。 |
Spire.Barcode 7.2.0のリリースを発表できることを嬉しく思います。このバージョンは、ASP web アプリで 「UseHttpHandlerMode=“True”」を設定するときに QR コードの位置が正しくない問題を修正しました。 詳細は以下の内容を読んでください。
カテゴリー | ID | 説明 |
Bug | SPIREBARCODE-235 | ASP Web アプリで 「UseHttpHandlerMode=“True”」を設定するときに QR コードの位置が正しくない問題を修正しました。 |