On this page
Guides
Edit Text and Image Properties
ComPDFKit supports modifying text and image properties. You can set text and image properties within the getEditSelectTextContentView
method of the customized context menu in CPDFReaderView
.
Edit Text Properties
ComPDFKit supports modifying text properties, such as text font size, name, color, alignment, italics, bold, transparency, etc.
This example shows how to set text to 12pt, red, and bold:
java
public class DemoContextMenuHelper extends CPDFContextMenuShowHelper {
public DemoContextMenuHelper(CPDFReaderView cpdfReaderView) {
super(cpdfReaderView);
}
@Override
public View getEditSelectTextContentView(CPDFPageView pageView, LayoutInflater layoutInflater, CPDFEditSelections selections) {
View contentView = ....
invokeOnClickListener(contentView, view ->{
if (view.getId() == R.id.edit_attr){
CPDFEditTextSelections textSelections = (CPDFEditTextSelections) selections;
textSelections.setFontSize(12);
textSelections.setColor(Color.RED);
textSelections.setBold(true);
textSelections.setItalic(true);
textSelections.setAlign(CPDFEditTextArea.PDFEditAlignType.PDFEditAlignLeft);
textSelections.setTransparancy(255);
textSelections.setFontName(CPDFEditTextArea.FontTimesRoman);
}
}, R.id.edit_attr);
return contentView;
}
}
kotlin
public class DemoContextMenuHelper(readerView: CPDFReaderView?) : CPDFContextMenuShowHelper(readerView) {
override fun getEditTextAreaContentView(
pageView: CPDFPageView?,
layoutInflater : LayoutInflater?,
selections: CPDFEditSelections?
): View {
View contentView = ...
invokeOnClickListener(pageView, {view ->
if (view.id == R.id.edit) {
val textSelections = selections as CPDFEditTextSelections
textSelections.fontSize = 12F
textSelections.color = Color.RED
textSelections.isBold = true
textSelections.isItalic = true
textSelections.align = CPDFEditTextArea.PDFEditAlignType.PDFEditAlignLeft
textSelections.transparancy = 255F
textSelections.fontName = CPDFEditTextArea.FontTimesRoman
}
}, R.id.edit)
return contentView
}
}
The following is a sample code for creating and deleting underlines and deleting text:
java
CPDFEditTextSelections textSelections = (CPDFEditTextSelections)selections;
// Create underscores and strikethroughs for text
textSelections.addUnderline();
textSelections.addStrikethrough();
// Delete the underscores and strikethroughs of the text
textSelections.removeUnderline();
textSelections.removeStrikethrough();
kotlin
val textSelections = selections as CPDFEditTextSelections
// Create underscores and strikethroughs for text
textSelections.addUnderline()
textSelections.addStrikethrough()
// Delete the underscores and strikethroughs of the text
textSelections.removeUnderline()
textSelections.removeStrikethrough()
Edit Image Properties
ComPDFKit supports modifying image properties, such as rotating, cropping, mirroring, and setting transparency.
This example shows how to rotate an image and set it to semi-transparent:
java
public class DemoContextMenuHelper extends CPDFContextMenuShowHelper {
public DemoContextMenuHelper(CPDFReaderView cpdfReaderView) {
super(cpdfReaderView);
}
@Override
public View getEditImageAreaContentView(final CPDFPageView pageView, LayoutInflater layoutInflater, RectF area) {
View contentView = ...
this.pageView = pageView;
invokeOnClickListener(pageView, view ->{
if (view.getId() == R.id.edit){
pageView.operateEditImageArea(CPDFPageView.EditImageFuncType.ROTATE, 90.0F);
pageView.operateEditImageArea(CPDFPageView.EditImageFuncType.TRANCPARENCY, 127.5F);
}
}, R.id.edit);
return contentView;
}
}
kotlin
public class DemoContextMenuHelper(readerView: CPDFReaderView?) : CPDFContextMenuShowHelper(readerView) {
@Override
public View getEditImageAreaContentView(final CPDFPageView pageView, LayoutInflater layoutInflater, RectF area) {
this.pageView = pageView;
invokeOnClickListener(pageView, view ->{
if (view.getId() == R.id.edit){
pageView.operateEditImageArea(CPDFPageView.EditImageFuncType.ROTATE, 90.0F);
pageView.operateEditImageArea(CPDFPageView.EditImageFuncType.TRANCPARENCY, 127.5F);
}
}, R.id.edit);
return super.getEditImageAreaContentView(pageView, layoutInflater, area);
}
}