Pythonを使用してPDFに透かしを追加する
Aspose.PDF for Python via .NETは、アーティファクトを使用してPDFドキュメントに透かしを追加することを可能にします。このタスクを解決するために、この記事を確認してください。
アーティファクトを操作するために、Aspose.PDFには2つのクラスがあります:ArtifactとArtifactCollectionです。
特定のページ上のすべてのアーティファクトを取得するために、Page クラスにはArtifactsプロパティがあります。このトピックでは、PDFファイルでアーティファクトを操作する方法を説明します。
アーティファクトの操作
Artifact クラスには以下のプロパティがあります:
contents – アーティファクト内部オペレーターのコレクションを取得します。そのサポートされているタイプはSystem.Collections.ICollectionです。
form – アーティファクトのXFormを取得します(XFormが使用されている場合)。透かし、ヘッダー、フッターアーティファクトには、すべてのアーティファクトコンテンツを表示するXFormが含まれています。
image – アーティファクトの画像を取得します(画像が存在する場合、それ以外の場合はnull)。 text – アーティファクトのテキストを取得します。 rectangle – ページ上のアーティファクトの位置を取得します。 rotation – アーティファクトの回転を取得します(度単位、正の値は反時計回りの回転を示します)。 opacity – アーティファクトの不透明度を取得します。可能な値は0から1の範囲で、1は完全に不透明です。
プログラミングサンプル: PDFファイルに透かしを追加する方法
以下のコードスニペットは、Pythonを使用してPDFファイルの最初のページに各透かしを取得する方法を示しています。
import aspose.pdf as ap
document = ap.Document(input_pdf)
artifact = ap.WatermarkArtifact()
ts = ap.text.TextState()
ts.font_size = 72
ts.foreground_color = ap.Color.blue
ts.font = ap.text.FontRepository.find_font("Courier")
artifact.set_text_and_state("WATERMARK", ts)
artifact.artifact_horizontal_alignment = ap.HorizontalAlignment.CENTER
artifact.artifact_vertical_alignment = ap.VerticalAlignment.CENTER
artifact.rotation = 45
artifact.opacity = 0.5
artifact.is_background = True
document.pages[1].artifacts.append(artifact)
document.save(output_pdf)
{ “@context”: “http://schema.org”, “@type”: “SoftwareApplication”, “name”: “Aspose.PDF for Python via .NET Library”, “image”: “https://www.aspose.cloud/templates/aspose/img/products/pdf/aspose_pdf-for-python-net.svg", “url”: “https://www.aspose.com/", “publisher”: { “@type”: “Organization”, “name”: “Aspose.PDF”, “url”: “https://products.aspose.com/pdf", “logo”: “https://www.aspose.cloud/templates/aspose/img/products/pdf/aspose_pdf-for-python-net.svg", “alternateName”: “Aspose”, “sameAs”: [ “https://facebook.com/aspose.pdf/”, “https://twitter.com/asposepdf”, “https://www.youtube.com/channel/UCmV9sEg_QWYPi6BJJs7ELOg/featured”, “https://www.linkedin.com/company/aspose”, “https://stackoverflow.com/questions/tagged/aspose”, “https://aspose.quora.com/”, “https://aspose.github.io/” ], “contactPoint”: [ { “@type”: “ContactPoint”, “telephone”: “+1 903 306 1676”, “contactType”: “sales”, “areaServed”: “US”, “availableLanguage”: “en” }, { “@type”: “ContactPoint”, “telephone”: “+44 141 628 8900”, “contactType”: “sales”, “areaServed”: “GB”, “availableLanguage”: “en” }, { “@type”: “ContactPoint”, “telephone”: “+61 2 8006 6987”, “contactType”: “sales”, “areaServed”: “AU”, “availableLanguage”: “en” } ] }, “offers”: { “@type”: “Offer”, “price”: “1199”, “priceCurrency”: “USD” }, “applicationCategory”: “Python用PDF操作ライブラリ”, “downloadUrl”: “https://www.nuget.org/packages/Aspose.PDF/", “operatingSystem”: “Windows, MacOS, Linux”, “screenshot”: “https://docs.aspose.com/pdf/python-net/create-pdf-document/example.png", “softwareVersion”: “2022.1”, “aggregateRating”: { “@type”: “AggregateRating”, “ratingValue”: “5”, “ratingCount”: “16” } }