Я изменил приведенные выше решения и создал следующий. Вы можете установить количество цифр до и после десятичной точки.
public class DecimalDigitsInputFilter implements InputFilter {
private final Pattern mPattern;
public DecimalDigitsInputFilter(int digitsBeforeZero, int digitsAfterZero) {
mPattern = Pattern.compile(String.format("[0-9]{0,%d}(\\.[0-9]{0,%d})?", digitsBeforeZero, digitsAfterZero));
}
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
Matcher matcher = mPattern.matcher(createResultString(source, start, end, dest, dstart, dend));
if (!matcher.matches())
return "";
return null;
}
private String createResultString(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
String sourceString = source.toString();
String destString = dest.toString();
return destString.substring(0, dstart) + sourceString.substring(start, end) + destString.substring(dend);
}
}
Путем документы Google делают это путем встраивания JavaScript в PDF, который говорит Acrobat Reader или любому другому совместимому читателю печатать его.
Вам был бы нужен инструментарий PDF, чтобы сделать это со случайным PDF.
можно установить http заголовок на приложение/PDF и затем вызвать новое окно, открытое с JavaScript, и распечатать тот путь. но кто действительно сделал бы это? я имею в виду, продвигаются теперь.
Вы подразумеваете, что хотите вынудить файл быть отправленным на принтер? Вы думаете о Законе Непреднамеренных последствий - устройство пользователя не подключено к принтеру? Мог быть BlackBerry, мог быть ноутбук на Wi-Fi. Что, если пользователь не хочет, чтобы он перешел к принтеру по умолчанию?